{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from sklearn.preprocessing import LabelEncoder, OneHotEncoder, StandardScaler\n",
    "from sklearn.feature_selection import RFE\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.tree import DecisionTreeClassifier, export_graphviz\n",
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.model_selection import train_test_split\n",
    "from lightgbm import LGBMClassifier\n",
    "from sklearn.metrics import roc_auc_score, recall_score, confusion_matrix, classification_report \n",
    "import subprocess\n",
    "import joblib\n",
    "# Get multiple outputs in the same cell\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\"\n",
    "# Ignore all warnings\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "warnings.filterwarnings(action='ignore', category=DeprecationWarning)\n",
    "pd.set_option('display.max_columns', None)\n",
    "pd.set_option('display.max_rows', None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>RowNumber</th>\n",
       "      <th>CustomerId</th>\n",
       "      <th>Surname</th>\n",
       "      <th>CreditScore</th>\n",
       "      <th>Geography</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Age</th>\n",
       "      <th>Tenure</th>\n",
       "      <th>Balance</th>\n",
       "      <th>NumOfProducts</th>\n",
       "      <th>HasCrCard</th>\n",
       "      <th>IsActiveMember</th>\n",
       "      <th>EstimatedSalary</th>\n",
       "      <th>Exited</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>15634602</td>\n",
       "      <td>Hargrave</td>\n",
       "      <td>619</td>\n",
       "      <td>France</td>\n",
       "      <td>Female</td>\n",
       "      <td>42</td>\n",
       "      <td>2</td>\n",
       "      <td>0.00</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>101348.88</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>15647311</td>\n",
       "      <td>Hill</td>\n",
       "      <td>608</td>\n",
       "      <td>Spain</td>\n",
       "      <td>Female</td>\n",
       "      <td>41</td>\n",
       "      <td>1</td>\n",
       "      <td>83807.86</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>112542.58</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>15619304</td>\n",
       "      <td>Onio</td>\n",
       "      <td>502</td>\n",
       "      <td>France</td>\n",
       "      <td>Female</td>\n",
       "      <td>42</td>\n",
       "      <td>8</td>\n",
       "      <td>159660.80</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113931.57</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>15701354</td>\n",
       "      <td>Boni</td>\n",
       "      <td>699</td>\n",
       "      <td>France</td>\n",
       "      <td>Female</td>\n",
       "      <td>39</td>\n",
       "      <td>1</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>93826.63</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>15737888</td>\n",
       "      <td>Mitchell</td>\n",
       "      <td>850</td>\n",
       "      <td>Spain</td>\n",
       "      <td>Female</td>\n",
       "      <td>43</td>\n",
       "      <td>2</td>\n",
       "      <td>125510.82</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>79084.10</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   RowNumber  CustomerId   Surname  CreditScore Geography  Gender  Age  \\\n",
       "0          1    15634602  Hargrave          619    France  Female   42   \n",
       "1          2    15647311      Hill          608     Spain  Female   41   \n",
       "2          3    15619304      Onio          502    France  Female   42   \n",
       "3          4    15701354      Boni          699    France  Female   39   \n",
       "4          5    15737888  Mitchell          850     Spain  Female   43   \n",
       "\n",
       "   Tenure    Balance  NumOfProducts  HasCrCard  IsActiveMember  \\\n",
       "0       2       0.00              1          1               1   \n",
       "1       1   83807.86              1          0               1   \n",
       "2       8  159660.80              3          1               0   \n",
       "3       1       0.00              2          0               0   \n",
       "4       2  125510.82              1          1               1   \n",
       "\n",
       "   EstimatedSalary  Exited  \n",
       "0        101348.88       1  \n",
       "1        112542.58       0  \n",
       "2        113931.57       1  \n",
       "3         93826.63       0  \n",
       "4         79084.10       0  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Reading the dataset\n",
    "dc = pd.read_csv(\"Churn_Modelling.csv\")\n",
    "dc.head(5) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(10000, 14)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Dimension of the dataset\n",
    "dc.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>RowNumber</th>\n",
       "      <th>CustomerId</th>\n",
       "      <th>CreditScore</th>\n",
       "      <th>Age</th>\n",
       "      <th>Tenure</th>\n",
       "      <th>Balance</th>\n",
       "      <th>NumOfProducts</th>\n",
       "      <th>HasCrCard</th>\n",
       "      <th>IsActiveMember</th>\n",
       "      <th>EstimatedSalary</th>\n",
       "      <th>Exited</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>10000.00000</td>\n",
       "      <td>1.000000e+04</td>\n",
       "      <td>10000.000000</td>\n",
       "      <td>10000.000000</td>\n",
       "      <td>10000.000000</td>\n",
       "      <td>10000.000000</td>\n",
       "      <td>10000.000000</td>\n",
       "      <td>10000.00000</td>\n",
       "      <td>10000.000000</td>\n",
       "      <td>10000.000000</td>\n",
       "      <td>10000.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>5000.50000</td>\n",
       "      <td>1.569094e+07</td>\n",
       "      <td>650.528800</td>\n",
       "      <td>38.921800</td>\n",
       "      <td>5.012800</td>\n",
       "      <td>76485.889288</td>\n",
       "      <td>1.530200</td>\n",
       "      <td>0.70550</td>\n",
       "      <td>0.515100</td>\n",
       "      <td>100090.239881</td>\n",
       "      <td>0.203700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>2886.89568</td>\n",
       "      <td>7.193619e+04</td>\n",
       "      <td>96.653299</td>\n",
       "      <td>10.487806</td>\n",
       "      <td>2.892174</td>\n",
       "      <td>62397.405202</td>\n",
       "      <td>0.581654</td>\n",
       "      <td>0.45584</td>\n",
       "      <td>0.499797</td>\n",
       "      <td>57510.492818</td>\n",
       "      <td>0.402769</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.00000</td>\n",
       "      <td>1.556570e+07</td>\n",
       "      <td>350.000000</td>\n",
       "      <td>18.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>11.580000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>2500.75000</td>\n",
       "      <td>1.562853e+07</td>\n",
       "      <td>584.000000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>51002.110000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>5000.50000</td>\n",
       "      <td>1.569074e+07</td>\n",
       "      <td>652.000000</td>\n",
       "      <td>37.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>97198.540000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.00000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>100193.915000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>7500.25000</td>\n",
       "      <td>1.575323e+07</td>\n",
       "      <td>718.000000</td>\n",
       "      <td>44.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>127644.240000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.00000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>149388.247500</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>10000.00000</td>\n",
       "      <td>1.581569e+07</td>\n",
       "      <td>850.000000</td>\n",
       "      <td>92.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>250898.090000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>1.00000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>199992.480000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         RowNumber    CustomerId   CreditScore           Age        Tenure  \\\n",
       "count  10000.00000  1.000000e+04  10000.000000  10000.000000  10000.000000   \n",
       "mean    5000.50000  1.569094e+07    650.528800     38.921800      5.012800   \n",
       "std     2886.89568  7.193619e+04     96.653299     10.487806      2.892174   \n",
       "min        1.00000  1.556570e+07    350.000000     18.000000      0.000000   \n",
       "25%     2500.75000  1.562853e+07    584.000000     32.000000      3.000000   \n",
       "50%     5000.50000  1.569074e+07    652.000000     37.000000      5.000000   \n",
       "75%     7500.25000  1.575323e+07    718.000000     44.000000      7.000000   \n",
       "max    10000.00000  1.581569e+07    850.000000     92.000000     10.000000   \n",
       "\n",
       "             Balance  NumOfProducts    HasCrCard  IsActiveMember  \\\n",
       "count   10000.000000   10000.000000  10000.00000    10000.000000   \n",
       "mean    76485.889288       1.530200      0.70550        0.515100   \n",
       "std     62397.405202       0.581654      0.45584        0.499797   \n",
       "min         0.000000       1.000000      0.00000        0.000000   \n",
       "25%         0.000000       1.000000      0.00000        0.000000   \n",
       "50%     97198.540000       1.000000      1.00000        1.000000   \n",
       "75%    127644.240000       2.000000      1.00000        1.000000   \n",
       "max    250898.090000       4.000000      1.00000        1.000000   \n",
       "\n",
       "       EstimatedSalary        Exited  \n",
       "count     10000.000000  10000.000000  \n",
       "mean     100090.239881      0.203700  \n",
       "std       57510.492818      0.402769  \n",
       "min          11.580000      0.000000  \n",
       "25%       51002.110000      0.000000  \n",
       "50%      100193.915000      0.000000  \n",
       "75%      149388.247500      0.000000  \n",
       "max      199992.480000      1.000000  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Surname</th>\n",
       "      <th>Geography</th>\n",
       "      <th>Gender</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>10000</td>\n",
       "      <td>10000</td>\n",
       "      <td>10000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>unique</th>\n",
       "      <td>2932</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>top</th>\n",
       "      <td>Smith</td>\n",
       "      <td>France</td>\n",
       "      <td>Male</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>freq</th>\n",
       "      <td>32</td>\n",
       "      <td>5014</td>\n",
       "      <td>5457</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Surname Geography Gender\n",
       "count    10000     10000  10000\n",
       "unique    2932         3      2\n",
       "top      Smith    France   Male\n",
       "freq        32      5014   5457"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dc.describe(exclude= ['O']) # Describe all numerical columns\n",
    "dc.describe(include = ['O']) # Describe all non-numerical/categorical columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(10000, 10000)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Checking number of unique customers in the dataset\n",
    "dc.shape[0], dc.CustomerId.nunique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    7963\n",
       "1    2037\n",
       "Name: Exited, dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# churn value Distribution\n",
    "dc[\"Exited\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Surname</th>\n",
       "      <th>RowNumber</th>\n",
       "      <th>Exited</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2473</th>\n",
       "      <td>Smith</td>\n",
       "      <td>32</td>\n",
       "      <td>0.281250</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1689</th>\n",
       "      <td>Martin</td>\n",
       "      <td>29</td>\n",
       "      <td>0.310345</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2389</th>\n",
       "      <td>Scott</td>\n",
       "      <td>29</td>\n",
       "      <td>0.103448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2751</th>\n",
       "      <td>Walker</td>\n",
       "      <td>28</td>\n",
       "      <td>0.142857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>336</th>\n",
       "      <td>Brown</td>\n",
       "      <td>26</td>\n",
       "      <td>0.192308</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Surname  RowNumber    Exited\n",
       "2473   Smith         32  0.281250\n",
       "1689  Martin         29  0.310345\n",
       "2389   Scott         29  0.103448\n",
       "2751  Walker         28  0.142857\n",
       "336    Brown         26  0.192308"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dc.groupby(['Surname']).agg({'RowNumber':'count', 'Exited':'mean'}\n",
    "                                  ).reset_index().sort_values(by='RowNumber', ascending=False).head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Geography</th>\n",
       "      <th>RowNumber</th>\n",
       "      <th>Exited</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>France</td>\n",
       "      <td>5014</td>\n",
       "      <td>0.161548</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Germany</td>\n",
       "      <td>2509</td>\n",
       "      <td>0.324432</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Spain</td>\n",
       "      <td>2477</td>\n",
       "      <td>0.166734</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Geography  RowNumber    Exited\n",
       "0    France       5014  0.161548\n",
       "1   Germany       2509  0.324432\n",
       "2     Spain       2477  0.166734"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dc.groupby(['Geography']).agg({'RowNumber':'count', 'Exited':'mean'}\n",
    "                                  ).reset_index().sort_values(by='RowNumber', ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:ylabel='CreditScore'>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.set(style=\"whitegrid\")\n",
    "sns.boxplot(y=dc['CreditScore'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:ylabel='Age'>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(y=dc['Age'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:ylabel='Tenure'>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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W2t2nAtyQfcAxBfTgzqGrxUj6EdRZZmHgURRraxZswbDMFi7di2K2vXNkkT40j1NGEE97PYIPq8HwYqKimhpafncksbf+c53ejRYOPnewoX84he/wH38IyKypstaPwOIolnxuJo7T/01p9z7GWh0dyOeEx8SHxfLN7/5TbPjXJBzFsDixYupra0lNzc37O5w95bp06ejqipPPfUU7so12FInYolMNTuWEKIHGUYQf+MBfPUlJMTH8cQTj5OWlmZ2rAtyzgI4cuQI7733Xlg/7NAbpk6dSmxsLM888ytqj/0Da9xQ7CmFKJrN7GhCiBDTPc34qrcTcDcwceJE7r333rB8Mvico3q4NZqZCgoK+M1vfs2rr77K22+/TdBViz3zMjRHvNnRhBAhYBgG/uYj+Gp2EBkVyd0PPsj06dPD9urIeS0F8e1vf5tp06bhcHx2g0vuAXwxh8PBv/3bv3HppZfy+ONP0FT5AfbUCVjjhpodTQjRDUYwgLd6B/6WCgoLC3nwwQeJjY01O1a3nLMA2tvbyc7O5tixY72Rp98YNWoUzz77K37+85+zd+82FGuk3BcQIox564rxt1SwYMECbrnlFjRNMztSt52zAB5//HEAWltbiYmJ6fFA/UlsbCw/+clPuP32b+NrPiwFIESYMoI6emsl06ZN47bbbjM7Tsic80ngiooK5s2bx7x586ipqeHqq6/m8OHDvZGtX7DZbIwcmUvQHV4PiAghPhP0NhMMeBkzZozZUULqnAXwyCOPsGTJEhITE0lNTeW2225j2bJlvZGtX9izZw+7du1Ci84xO4oQootURxyaI44///l12tvbzY4TMue1FtBll13W+frWW2+lra2tR0P1F7t37+bxJ55As0djT843O44QoosURcOeNpmmpiaWLVtGQ0OD2ZFC4ksLwOfzdf671+vtnOZUV1dHMBjs+WRhzDAM3nzzTZYtW4YnoOHImi57AggR5rSIBByZl3Lo8BHuu+8+SkpKzI7UbV9aAAsWLADglltu4c4776ShoYFf/OIXnXfAxRfz+/2sWLGCl156CS0qi4js2bI0tBD9hDVmEI7sK2n3dmyXu27dOrMjdcuXHpaeXffnxhtvJCcnhw0bNhAIBHj44YeZOnVqt9/45z//OU1NTTzxxBPd/l59RXt7Oz/72c8oLi7GlpTfsRtYmD4gIoT4Ypo9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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.violinplot(y = dc.Tenure)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:ylabel='Balance'>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.violinplot(y = dc['Balance'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='NumOfProducts'>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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duzYKz7H7vrggw967dziexT+ck3r168fjz/+OM8//zxvvPEGffv2dW/LyMjgjjvu4Mc//rHX63HjxjF58mTef/99vvzyS2bPns2+ffv45JNPsNls5OfnExISwpo1a5g1a5Y7+AGGDBnCihUrePzxxxk1ahSZmZnU1NSQmJjI7373O685Dhw4kKioKA4ePMiAAQNYsmQJAwYM4NSpU2zevJmtW7eyceNG+vTpw4033sjChQu59dZbqampISMjg9raWm666SaOHz/uPubQoUPZtWuX+xfMN19v3ryZDRs20KdPH2644QaWL1/O2rVrAUhLS+NXv/oVf/7zn3njjTcICAggMDCQxYsXc/vtt1+NJRIfpds+cs1LT0+nf//+rF69+qL2a2lpYdu2bWRkZPDiiy+SlpbGtm3bCAsLY+vWrQDs27eP733ve177Dh8+HIDm5mZefvllbr75Zt5++2369evnNfbgwYPs2bPHfZzPP/+cn//852zbto2ysjLWrVvH66+/zrZt25g8eTJPP/00lmWxePFiRowYwe9//3uysrI4dOhQlz19+umn5OTksG7dOt555x3GjRtHfn4+S5cuBc78H4nD4eCVV15h3bp1vPXWW/zwhz90P65B5Cxd+cs1r0+fPqxcuZKpU6fy4IMPdnu/CRMmADB48GBuvPFGhg0bBsDNN9/MV1995R53vm+qam1tPe/TE9PS0ujTpw9ff/01/fv352c/+xl33XUXu3fvJiwsjPDwcAD++te/MmnSJPcVfFJSEkuWLKGyspLS0lLmz58PQGRkJKNHj+6yp127dvHggw8SFhYGwIwZM7zG+Pv7Ex8fT3JyMg899BAPPPAACQkJXR5bzKLwF59w00038dJLLzF//nymTJkCnHms7TefTtLW1uaxzzdvEQUEBHR63HvuuYfdu3dz5513etT3799PQEAAt912Gx999JHXft+853+ub36hSGdPT7Esi/b2dq/5n++Jk62tre5/+/v7e/xCam5u5ujRowwZMsRjn5ycHP79739TWlrKa6+9xubNm8nPz+/0+GIm3fYRnzFx4kRiYmIoKCgA4IYbbqC8vByAEydOsHfv3os+5vPPP8+6des8nvN+4MABXnjhBZ599lkCAwMva84PPvggJSUl7nfhvPXWWwwaNIjIyEj+93//1/03hKqqKnbv3u3eLzg42P2gtW/+oXn06NHs2rWL2tpaAN544w1WrlwJnPnF0N7ezokTJ4iNjWXQoEHMmDGD5557zuNRxyKgK3/xMVlZWe7714899hg//elPiYuLIyIiglGjRl308YYPH8769etZs2YNr7zyCv7+/gQFBTF79mzi4+Mve74PPPAAM2bMIC0tja+//prg4GBeffVV+vTpQ3Z2Ni+88AITJ04kNDTUfVvqbJ+LFy8mKCiI+++/3/3tWkOHDmXevHn85Cc/Ac58q9PZZ7+PHz+e6dOnk5eXR3p6OjNmzKBfv374+/vz8ssvX3Yvcn3RUz1FRAyk2z4iIgZS+IuIGEjhLyJiIIW/iIiBFP4iIgZS+IuIGEjhLyJiIIW/iIiB/j8wqvIsSIt0cgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.set(style = 'ticks')\n",
    "sns.distplot(dc.NumOfProducts, hist=True, kde=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='EstimatedSalary', ylabel='Density'>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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oLS0FAcPHsTSpUshEAgQHByMKVOmOPZJSkrCjh07cObMGRw9ehR5eXn4xz/+gdWrV+P222/HP/7xD+zZswdfffUVLl68CMYYWlpaOjz3kiVLkJeXh3feeQfFxcWoqamB0Wh03N4+DbFUKsXdd9+NzZs345lnnsHWrVuxcePG67/oxCvQyVji9vr164edO3di4cKF0Ov1+M1vfnPdhUt+2V3RPsf4lfbs2YOHHnoIADB58mTcd999nT6WzWbD2LFj8fnnnzu+Nm/ejMTERAAdpzsWiUQA7DMcvvjii2hqakJycjJ+85vf4N1338XDDz+M//znPzAajcjKysKZM2cwePBgPP300xCLxVdNlfvkk09i8+bNiIqKwoMPPoghQ4Z02Eculzv+P2fOHPz3v//Fd999h8TERERHR3f5GhHvQUFP3N7HH3+M5557DuPHj8eSJUswfvx45OfnA7AHa/t6nz2Vl5eHSZMmYe7cuRg6dCj+97//OaaovfJxx4wZg7y8PMd6oHv37sWMGTNgMplw22234dNPP4XNZkNTUxN27doFwP7GUlxcjHXr1jlWWLJYLCgrK8PgwYNRUlICvV6Pxx9/HLfffjuOHDmCtrY22Gy2DjXu378fixYtwvTp0yEQCHDixAlHjb+kVqsxYsQIvPrqq9d80yLeibpuiNvIycm5atGGJ598EjNnzsSRI0cwffp0yGQyqNVqzJs3DwAwZcoUzJ07F+vWrevx891777146qmnkJmZCZFIhNTUVHz77bew2WxISUnBG2+8gUWLFuGtt95Cbm4unnzySccc7n//+98hl8vx6KOP4qWXXsK0adMQHByMm266yfH4q1evxsqVKzF16lTIZDIwxvDrX/8aixYtglAoxK9+9StMmzYNSqUSMTExGDBgAEpKSjp8GnniiSewaNEiBAQEQCaT4ZZbbkFpaek1j2nWrFn405/+hIkTJ/b49SD8RbNXEsITNpsNubm5UKvVWLhwIdflEDdCXTeE8IBer8fo0aNRVlaG+++/n+tyiJuhFj0hhPActegJIYTnKOgJIYTnKOgJIYTnKOgJIYTnKOgJIYTnKOgJIYTn/h+9RDr9eFLcnwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# When dealing with numerical characteristics, one of the most useful statistics to examine is the data distribution.\n",
    "# we can use Kernel-Density-Estimation plot for that purpose. \n",
    "sns.kdeplot(dc.EstimatedSalary)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Separating out different columns into various categories as defined above\n",
    "target_var = ['Exited']\n",
    "cols_to_remove = ['RowNumber', 'CustomerId']\n",
    "# numerical columns\n",
    "num_feats = ['CreditScore', 'Age', 'Tenure', 'Balance', 'NumOfProducts', 'EstimatedSalary']\n",
    "# categorical columns\n",
    "cat_feats = ['Surname', 'Geography', 'Gender', 'HasCrCard', 'IsActiveMember']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = dc[target_var].values\n",
    "dc.drop(cols_to_remove, axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((7920, 12), (1080, 12), (1000, 12), (7920,), (1080,), (1000,))"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "(0.20303030303030303, 0.22037037037037038, 0.191)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Keeping aside a test/holdout set\n",
    "dc_train_val, dc_test, y_train_val, y_test = train_test_split(dc, y.ravel(), test_size = 0.1, random_state = 42)\n",
    "\n",
    "# Splitting into train and validation set\n",
    "dc_train, dc_val, y_train, y_val = train_test_split(dc_train_val, y_train_val, test_size = 0.12, random_state = 42)\n",
    "dc_train.shape, dc_val.shape, dc_test.shape, y_train.shape, y_val.shape, y_test.shape\n",
    "np.mean(y_train), np.mean(y_val), np.mean(y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Female': 0, 'Male': 1}"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# label encoding With  the sklearn method\n",
    "le = LabelEncoder()\n",
    "# Label encoding of Gender variable\n",
    "dc_train['Gender'] = le.fit_transform(dc_train['Gender'])\n",
    "le_gender_mapping = dict(zip(le.classes_, le.transform(le.classes_)))\n",
    "le_gender_mapping"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Encoding Gender feature for validation and test set\n",
    "dc_val['Gender'] = dc_val.Gender.map(le_gender_mapping)\n",
    "dc_test['Gender'] = dc_test.Gender.map(le_gender_mapping)\n",
    "\n",
    "# Filling missing/NaN values created due to new categorical levels\n",
    "dc_val['Gender'].fillna(-1, inplace=True)\n",
    "dc_test['Gender'].fillna(-1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([1, 0]), array([1, 0], dtype=int64), array([1, 0], dtype=int64))"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dc_train.Gender.unique(), dc_val.Gender.unique(), dc_test.Gender.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0., 1., 0.],\n",
       "       [1., 0., 0.],\n",
       "       [1., 0., 0.],\n",
       "       ...,\n",
       "       [1., 0., 0.],\n",
       "       [0., 1., 0.],\n",
       "       [0., 1., 0.]])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# With the sklearn method(LabelEncoder())\n",
    "le_ohe = LabelEncoder()\n",
    "ohe = OneHotEncoder(handle_unknown = 'ignore', sparse=False)\n",
    "enc_train = le_ohe.fit_transform(dc_train.Geography).reshape(dc_train.shape[0],1)\n",
    "ohe_train = ohe.fit_transform(enc_train)\n",
    "ohe_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'France': 0, 'Germany': 1, 'Spain': 2}"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# mapping between classes\n",
    "le_ohe_geography_mapping = dict(zip(le_ohe.classes_, le_ohe.transform(le_ohe.classes_)))\n",
    "le_ohe_geography_mapping"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Encoding Geography feature for validation and test set\n",
    "enc_val = dc_val.Geography.map(le_ohe_geography_mapping).ravel().reshape(-1,1)\n",
    "enc_test = dc_test.Geography.map(le_ohe_geography_mapping).ravel().reshape(-1,1)\n",
    "\n",
    "# Filling missing/NaN values created due to new categorical levels\n",
    "enc_val[np.isnan(enc_val)] = 9999\n",
    "enc_test[np.isnan(enc_test)] = 9999"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "ohe_val = ohe.transform(enc_val)\n",
    "ohe_test = ohe.transform(enc_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0., 0., 0.]])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Show what happens when a new value is inputted into the OHE \n",
    "ohe.transform(np.array([[9999]]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['country_France', 'country_Germany', 'country_Spain']"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cols = ['country_' + str(x) for x in le_ohe_geography_mapping.keys()]\n",
    "cols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training set\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Surname</th>\n",
       "      <th>CreditScore</th>\n",
       "      <th>Geography</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Age</th>\n",
       "      <th>Tenure</th>\n",
       "      <th>Balance</th>\n",
       "      <th>NumOfProducts</th>\n",
       "      <th>HasCrCard</th>\n",
       "      <th>IsActiveMember</th>\n",
       "      <th>EstimatedSalary</th>\n",
       "      <th>Exited</th>\n",
       "      <th>country_France</th>\n",
       "      <th>country_Germany</th>\n",
       "      <th>country_Spain</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Yermakova</td>\n",
       "      <td>678</td>\n",
       "      <td>Germany</td>\n",
       "      <td>1</td>\n",
       "      <td>36</td>\n",
       "      <td>1</td>\n",
       "      <td>117864.85</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>27619.06</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Warlow-Davies</td>\n",
       "      <td>613</td>\n",
       "      <td>France</td>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>5</td>\n",
       "      <td>125167.74</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>199104.52</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Fu</td>\n",
       "      <td>628</td>\n",
       "      <td>France</td>\n",
       "      <td>1</td>\n",
       "      <td>45</td>\n",
       "      <td>9</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>96862.56</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Shih</td>\n",
       "      <td>513</td>\n",
       "      <td>France</td>\n",
       "      <td>1</td>\n",
       "      <td>30</td>\n",
       "      <td>5</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>162523.66</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Mahmood</td>\n",
       "      <td>639</td>\n",
       "      <td>France</td>\n",
       "      <td>1</td>\n",
       "      <td>22</td>\n",
       "      <td>4</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>28188.96</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         Surname  CreditScore Geography  Gender  Age  Tenure    Balance  \\\n",
       "0      Yermakova          678   Germany       1   36       1  117864.85   \n",
       "1  Warlow-Davies          613    France       0   27       5  125167.74   \n",
       "2             Fu          628    France       1   45       9       0.00   \n",
       "3           Shih          513    France       1   30       5       0.00   \n",
       "4        Mahmood          639    France       1   22       4       0.00   \n",
       "\n",
       "   NumOfProducts  HasCrCard  IsActiveMember  EstimatedSalary  Exited  \\\n",
       "0              2          1               0         27619.06       0   \n",
       "1              1          1               0        199104.52       0   \n",
       "2              2          1               1         96862.56       0   \n",
       "3              2          1               0        162523.66       0   \n",
       "4              2          1               0         28188.96       0   \n",
       "\n",
       "   country_France  country_Germany  country_Spain  \n",
       "0             0.0              1.0            0.0  \n",
       "1             1.0              0.0            0.0  \n",
       "2             1.0              0.0            0.0  \n",
       "3             1.0              0.0            0.0  \n",
       "4             1.0              0.0            0.0  "
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "Validation set\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Surname</th>\n",
       "      <th>CreditScore</th>\n",
       "      <th>Geography</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Age</th>\n",
       "      <th>Tenure</th>\n",
       "      <th>Balance</th>\n",
       "      <th>NumOfProducts</th>\n",
       "      <th>HasCrCard</th>\n",
       "      <th>IsActiveMember</th>\n",
       "      <th>EstimatedSalary</th>\n",
       "      <th>Exited</th>\n",
       "      <th>country_France</th>\n",
       "      <th>country_Germany</th>\n",
       "      <th>country_Spain</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Sun</td>\n",
       "      <td>757</td>\n",
       "      <td>France</td>\n",
       "      <td>1</td>\n",
       "      <td>36</td>\n",
       "      <td>7</td>\n",
       "      <td>144852.06</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>130861.95</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Russo</td>\n",
       "      <td>552</td>\n",
       "      <td>France</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>10</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>12186.83</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Munro</td>\n",
       "      <td>619</td>\n",
       "      <td>France</td>\n",
       "      <td>0</td>\n",
       "      <td>30</td>\n",
       "      <td>7</td>\n",
       "      <td>70729.17</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>160948.87</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Perkins</td>\n",
       "      <td>633</td>\n",
       "      <td>France</td>\n",
       "      <td>1</td>\n",
       "      <td>35</td>\n",
       "      <td>10</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>65675.47</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Aliyeva</td>\n",
       "      <td>698</td>\n",
       "      <td>Spain</td>\n",
       "      <td>1</td>\n",
       "      <td>38</td>\n",
       "      <td>10</td>\n",
       "      <td>95010.92</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>105227.86</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Surname  CreditScore Geography  Gender  Age  Tenure    Balance  \\\n",
       "0      Sun          757    France       1   36       7  144852.06   \n",
       "1    Russo          552    France       1   29      10       0.00   \n",
       "2    Munro          619    France       0   30       7   70729.17   \n",
       "3  Perkins          633    France       1   35      10       0.00   \n",
       "4  Aliyeva          698     Spain       1   38      10   95010.92   \n",
       "\n",
       "   NumOfProducts  HasCrCard  IsActiveMember  EstimatedSalary  Exited  \\\n",
       "0              1          0               0        130861.95       0   \n",
       "1              2          1               0         12186.83       0   \n",
       "2              1          1               1        160948.87       0   \n",
       "3              2          1               0         65675.47       0   \n",
       "4              1          1               1        105227.86       0   \n",
       "\n",
       "   country_France  country_Germany  country_Spain  \n",
       "0             1.0              0.0            0.0  \n",
       "1             1.0              0.0            0.0  \n",
       "2             1.0              0.0            0.0  \n",
       "3             1.0              0.0            0.0  \n",
       "4             0.0              0.0            1.0  "
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "\n",
      "Test set\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Surname</th>\n",
       "      <th>CreditScore</th>\n",
       "      <th>Geography</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Age</th>\n",
       "      <th>Tenure</th>\n",
       "      <th>Balance</th>\n",
       "      <th>NumOfProducts</th>\n",
       "      <th>HasCrCard</th>\n",
       "      <th>IsActiveMember</th>\n",
       "      <th>EstimatedSalary</th>\n",
       "      <th>Exited</th>\n",
       "      <th>country_France</th>\n",
       "      <th>country_Germany</th>\n",
       "      <th>country_Spain</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Anderson</td>\n",
       "      <td>596</td>\n",
       "      <td>Germany</td>\n",
       "      <td>1</td>\n",
       "      <td>32</td>\n",
       "      <td>3</td>\n",
       "      <td>96709.07</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>41788.37</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Herring</td>\n",
       "      <td>623</td>\n",
       "      <td>France</td>\n",
       "      <td>1</td>\n",
       "      <td>43</td>\n",
       "      <td>1</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>146379.30</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Amechi</td>\n",
       "      <td>601</td>\n",
       "      <td>Spain</td>\n",
       "      <td>0</td>\n",
       "      <td>44</td>\n",
       "      <td>4</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>58561.31</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Liang</td>\n",
       "      <td>506</td>\n",
       "      <td>Germany</td>\n",
       "      <td>1</td>\n",
       "      <td>59</td>\n",
       "      <td>8</td>\n",
       "      <td>119152.10</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>170679.74</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Chuang</td>\n",
       "      <td>560</td>\n",
       "      <td>Spain</td>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>7</td>\n",
       "      <td>124995.98</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>114669.79</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Surname  CreditScore Geography  Gender  Age  Tenure    Balance  \\\n",
       "0  Anderson          596   Germany       1   32       3   96709.07   \n",
       "1   Herring          623    France       1   43       1       0.00   \n",
       "2    Amechi          601     Spain       0   44       4       0.00   \n",
       "3     Liang          506   Germany       1   59       8  119152.10   \n",
       "4    Chuang          560     Spain       0   27       7  124995.98   \n",
       "\n",
       "   NumOfProducts  HasCrCard  IsActiveMember  EstimatedSalary  Exited  \\\n",
       "0              2          0               0         41788.37       0   \n",
       "1              2          1               1        146379.30       0   \n",
       "2              2          1               0         58561.31       0   \n",
       "3              2          1               1        170679.74       0   \n",
       "4              1          1               1        114669.79       0   \n",
       "\n",
       "   country_France  country_Germany  country_Spain  \n",
       "0             0.0              1.0            0.0  \n",
       "1             1.0              0.0            0.0  \n",
       "2             0.0              0.0            1.0  \n",
       "3             0.0              1.0            0.0  \n",
       "4             0.0              0.0            1.0  "
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Adding to the respective dataframes\n",
    "dc_train = pd.concat([dc_train.reset_index(), pd.DataFrame(ohe_train, columns = cols)], axis = 1).drop(['index'], axis=1)\n",
    "dc_val = pd.concat([dc_val.reset_index(), pd.DataFrame(ohe_val, columns = cols)], axis = 1).drop(['index'], axis=1)\n",
    "dc_test = pd.concat([dc_test.reset_index(), pd.DataFrame(ohe_test, columns = cols)], axis = 1).drop(['index'], axis=1)\n",
    "print(\"Training set\")\n",
    "dc_train.head()\n",
    "print(\"\\n\\nValidation set\")\n",
    "dc_val.head()\n",
    "print(\"\\n\\nTest set\")\n",
    "dc_test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "dc_train.drop(['Geography'], axis=1, inplace=True)\n",
    "dc_val.drop(['Geography'], axis=1, inplace=True)\n",
    "dc_test.drop(['Geography'], axis=1, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Surname\n",
       "Abazu       0.00\n",
       "Abbie       0.00\n",
       "Abbott      0.25\n",
       "Abdullah    1.00\n",
       "Abdulov     0.00\n",
       "Name: Exited, dtype: float64"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Surname\n",
       "Zubarev     0.0\n",
       "Zubareva    0.0\n",
       "Zuev        0.0\n",
       "Zuyev       0.0\n",
       "Zuyeva      0.0\n",
       "Name: Exited, dtype: float64"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "means = dc_train.groupby(['Surname']).Exited.mean()\n",
    "means.head()\n",
    "means.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.20303030303030303"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "global_mean = y_train.mean()\n",
    "global_mean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Creating new encoded features for surname - Target (mean) encoding\n",
    "dc_train['Surname_mean_churn'] = dc_train.Surname.map(means)\n",
    "dc_train['Surname_mean_churn'].fillna(global_mean, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Surname\n",
       "Abazu       2\n",
       "Abbie       1\n",
       "Abbott      4\n",
       "Abdullah    1\n",
       "Abdulov     1\n",
       "dtype: int64"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "freqs = dc_train.groupby(['Surname']).size()\n",
    "freqs.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "dc_train['Surname_freq'] = dc_train.Surname.map(freqs)\n",
    "dc_train['Surname_freq'].fillna(0, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Surname</th>\n",
       "      <th>CreditScore</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Age</th>\n",
       "      <th>Tenure</th>\n",
       "      <th>Balance</th>\n",
       "      <th>NumOfProducts</th>\n",
       "      <th>HasCrCard</th>\n",
       "      <th>IsActiveMember</th>\n",
       "      <th>EstimatedSalary</th>\n",
       "      <th>Exited</th>\n",
       "      <th>country_France</th>\n",
       "      <th>country_Germany</th>\n",
       "      <th>country_Spain</th>\n",
       "      <th>Surname_mean_churn</th>\n",
       "      <th>Surname_freq</th>\n",
       "      <th>Surname_enc</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Yermakova</td>\n",
       "      <td>678</td>\n",
       "      <td>1</td>\n",
       "      <td>36</td>\n",
       "      <td>1</td>\n",
       "      <td>117864.85</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>27619.06</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Warlow-Davies</td>\n",
       "      <td>613</td>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>5</td>\n",
       "      <td>125167.74</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>199104.52</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Fu</td>\n",
       "      <td>628</td>\n",
       "      <td>1</td>\n",
       "      <td>45</td>\n",
       "      <td>9</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>96862.56</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>10</td>\n",
       "      <td>0.222222</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Shih</td>\n",
       "      <td>513</td>\n",
       "      <td>1</td>\n",
       "      <td>30</td>\n",
       "      <td>5</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>162523.66</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.285714</td>\n",
       "      <td>21</td>\n",
       "      <td>0.300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Mahmood</td>\n",
       "      <td>639</td>\n",
       "      <td>1</td>\n",
       "      <td>22</td>\n",
       "      <td>4</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>28188.96</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.333333</td>\n",
       "      <td>3</td>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         Surname  CreditScore  Gender  Age  Tenure    Balance  NumOfProducts  \\\n",
       "0      Yermakova          678       1   36       1  117864.85              2   \n",
       "1  Warlow-Davies          613       0   27       5  125167.74              1   \n",
       "2             Fu          628       1   45       9       0.00              2   \n",
       "3           Shih          513       1   30       5       0.00              2   \n",
       "4        Mahmood          639       1   22       4       0.00              2   \n",
       "\n",
       "   HasCrCard  IsActiveMember  EstimatedSalary  Exited  country_France  \\\n",
       "0          1               0         27619.06       0             0.0   \n",
       "1          1               0        199104.52       0             1.0   \n",
       "2          1               1         96862.56       0             1.0   \n",
       "3          1               0        162523.66       0             1.0   \n",
       "4          1               0         28188.96       0             1.0   \n",
       "\n",
       "   country_Germany  country_Spain  Surname_mean_churn  Surname_freq  \\\n",
       "0              1.0            0.0            0.000000             4   \n",
       "1              0.0            0.0            0.000000             2   \n",
       "2              0.0            0.0            0.200000            10   \n",
       "3              0.0            0.0            0.285714            21   \n",
       "4              0.0            0.0            0.333333             3   \n",
       "\n",
       "   Surname_enc  \n",
       "0     0.000000  \n",
       "1     0.000000  \n",
       "2     0.222222  \n",
       "3     0.300000  \n",
       "4     0.500000  "
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dc_train['Surname_enc'] = ((dc_train.Surname_freq * dc_train.Surname_mean_churn) - dc_train.Exited)/(dc_train.Surname_freq - 1)\n",
    "# Fill NaNs occuring due to category frequency being 1 or less\n",
    "dc_train['Surname_enc'].fillna((((dc_train.shape[0] * global_mean) - dc_train.Exited) / (dc_train.shape[0] - 1)), inplace=True)\n",
    "dc_train.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Surname_mean_churn</th>\n",
       "      <th>Surname_enc</th>\n",
       "      <th>Exited</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Surname_mean_churn</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.54823</td>\n",
       "      <td>0.562677</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Surname_enc</th>\n",
       "      <td>0.548230</td>\n",
       "      <td>1.00000</td>\n",
       "      <td>-0.026440</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Exited</th>\n",
       "      <td>0.562677</td>\n",
       "      <td>-0.02644</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    Surname_mean_churn  Surname_enc    Exited\n",
       "Surname_mean_churn            1.000000      0.54823  0.562677\n",
       "Surname_enc                   0.548230      1.00000 -0.026440\n",
       "Exited                        0.562677     -0.02644  1.000000"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Replacing by category means and new category levels by global mean\n",
    "dc_val['Surname_enc'] = dc_val.Surname.map(means)\n",
    "dc_val['Surname_enc'].fillna(global_mean, inplace=True)\n",
    "dc_test['Surname_enc'] = dc_test.Surname.map(means)\n",
    "dc_test['Surname_enc'].fillna(global_mean, inplace=True)\n",
    "# Show that using LOO Target encoding decorrelates features\n",
    "dc_train[['Surname_mean_churn', 'Surname_enc', 'Exited']].corr()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CreditScore</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Age</th>\n",
       "      <th>Tenure</th>\n",
       "      <th>Balance</th>\n",
       "      <th>NumOfProducts</th>\n",
       "      <th>HasCrCard</th>\n",
       "      <th>IsActiveMember</th>\n",
       "      <th>EstimatedSalary</th>\n",
       "      <th>Exited</th>\n",
       "      <th>country_France</th>\n",
       "      <th>country_Germany</th>\n",
       "      <th>country_Spain</th>\n",
       "      <th>Surname_enc</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>678</td>\n",
       "      <td>1</td>\n",
       "      <td>36</td>\n",
       "      <td>1</td>\n",
       "      <td>117864.85</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>27619.06</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>613</td>\n",
       "      <td>0</td>\n",
       "      <td>27</td>\n",
       "      <td>5</td>\n",
       "      <td>125167.74</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>199104.52</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>628</td>\n",
       "      <td>1</td>\n",
       "      <td>45</td>\n",
       "      <td>9</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>96862.56</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.222222</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>513</td>\n",
       "      <td>1</td>\n",
       "      <td>30</td>\n",
       "      <td>5</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>162523.66</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>639</td>\n",
       "      <td>1</td>\n",
       "      <td>22</td>\n",
       "      <td>4</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>28188.96</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   CreditScore  Gender  Age  Tenure    Balance  NumOfProducts  HasCrCard  \\\n",
       "0          678       1   36       1  117864.85              2          1   \n",
       "1          613       0   27       5  125167.74              1          1   \n",
       "2          628       1   45       9       0.00              2          1   \n",
       "3          513       1   30       5       0.00              2          1   \n",
       "4          639       1   22       4       0.00              2          1   \n",
       "\n",
       "   IsActiveMember  EstimatedSalary  Exited  country_France  country_Germany  \\\n",
       "0               0         27619.06       0             0.0              1.0   \n",
       "1               0        199104.52       0             1.0              0.0   \n",
       "2               1         96862.56       0             1.0              0.0   \n",
       "3               0        162523.66       0             1.0              0.0   \n",
       "4               0         28188.96       0             1.0              0.0   \n",
       "\n",
       "   country_Spain  Surname_enc  \n",
       "0            0.0     0.000000  \n",
       "1            0.0     0.000000  \n",
       "2            0.0     0.222222  \n",
       "3            0.0     0.300000  \n",
       "4            0.0     0.500000  "
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dc_train.drop(['Surname_mean_churn'], axis=1, inplace=True)\n",
    "dc_train.drop(['Surname_freq'], axis=1, inplace=True)\n",
    "dc_train.drop(['Surname'], axis=1, inplace=True)\n",
    "dc_val.drop(['Surname'], axis=1, inplace=True)\n",
    "dc_test.drop(['Surname'], axis=1, inplace=True)\n",
    "dc_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "corr = dc_train.corr()\n",
    "sns.heatmap(corr, cmap = 'coolwarm')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='Exited', ylabel='Age'>"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(x=\"Exited\", y=\"Age\", data=dc_train, palette=\"Set3\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='Exited', ylabel='Balance'>"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZkAAAEJCAYAAABGw1qNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABQWklEQVR4nO3dd3xUVf7/8deUVNJ7T+hJ6BAgICT0AEmko5IVrCgK6rrrbxH161d3rcsKIs3dtSK6oCgoXwgIGFroLYQOKaSQ3kifzMzvj0CWGEqATCbJfJ6PRx4PcubOzGfCzLzvveeecxR6vV6PEEIIYQBKYxcghBCi7ZKQEUIIYTASMkIIIQxGQkYIIYTBSMgIIYQwGLWxC2gpKisrSUxMxNXVFZVKZexyhBCiVdBqteTm5tK9e3csLS0b3C4hc01iYiIxMTHGLkMIIVql1atXExIS0qBdQuYaV1dXoPYP5eHhYeRqhBCidcjKyiImJqbuO/T3JGSuuX6KzMPDAx8fHyNXI4QQrcutuhmk418IIYTBSMgIIYQwGAkZIYQQBiMhI4QQwmAkZIQQQhiMhIwQQgiDkZARQpic5ORkzp49a+wyTIKMkxFCmJx//OMf6PV6li1bZuxS2jw5khFCmBxZELj5SMgIIYQwGAkZIYQQBiMhI4QQwmAkZIQQQhiMhIwQQgiDkZARQghhMBIyQgghDEZCRgghhMFIyAghhDAYCRkhhBAGIyEjhBDCYCRkhBBCGIxBQ2bp0qVERkYSGRnJhx9+CMCrr77KmDFjmDBhAhMmTODXX38FID4+nujoaMaMGcOiRYvqHuPMmTNMmTKFiIgIXnvtNWpqagDIzMwkJiaGsWPHMmfOHMrKygAoKSlh9uzZjBs3jpiYGHJzcw35EoUQQtyGwUImPj6ePXv28NNPP7F+/XpOnTrFr7/+SmJiIt988w0bNmxgw4YNjB49msrKShYsWMDy5cvZtGkTiYmJ7Ny5E4BXXnmFN954gy1btqDX61m7di0Ab731FjNmzCA2Npbu3buzfPlyABYvXkxISAibN29m2rRpvPPOO4Z6iUIIIe7AYCHj6urK/PnzMTc3x8zMjI4dO5KZmUlmZiZvvPEG0dHRLFmyBJ1OR0JCAv7+/vj6+qJWq4mOjiY2NpaMjAwqKyvp3bs3AJMnTyY2NhaNRsOhQ4eIiIio1w4QFxdHdHQ0AFFRUezatQuNRmOolymEEOI2DLZoWefOnev+nZKSwqZNm/j22285ePAgb7/9NtbW1jzzzDP88MMPWFtb4+rqWre9m5sb2dnZ5OTk1Gt3dXUlOzubwsJCbGxsUKvV9dqBevdRq9XY2NhQUFCAu7t73eOUlJRQUlJSr96srKym/yMIIYSJM/jKmBcuXOCZZ57hL3/5Cx06dKi3Et2jjz7K+vXrGTt2bIP7KRSKmy4sdLv2W1Eq6x+wffXVVyxduvRuXoYQQoh7YNCQOXLkCC+88AILFiwgMjKSc+fOkZKSUneaS6/Xo1arcXd3Jy8vr+5+OTk5uLm5NWjPzc3Fzc0NJycnSktL0Wq1qFSqunaoPQrKy8vDw8ODmpoaSktLcXBwqFfXrFmzmDRpUr22rKwsYmJiDPSXEEII02SwPpkrV67w/PPPs3DhQiIjI4HaUHn33XcpLi5Go9GwZs0aRo8eTa9evUhOTiY1NRWtVsvGjRsJCwvD29sbCwsLjhw5AsD69esJCwvDzMyMkJAQNm3aVK8dIDw8nPXr1wOwadMmQkJCMDMzq1ebnZ0dPj4+9X48PDwM9acQQgiTZbAjmc8++4yqqiref//9uraHH36Y2bNn88gjj1BTU8OYMWOIiooC4P3332fevHlUVVURHh5edwpt4cKFvP7665SVlREcHMzMmTMBePPNN5k/fz4rVqzA09OTjz76CIAXX3yR+fPnExkZia2tLQsXLjTUSxR3kJmZibu7OyqVytilCHFTOp2uwel00bQU+pt1cJig9PR0Ro4cyfbt2/Hx8TF2Oa1eQUEBb7zxBpGRkYwfP97Y5QhRz/PPPw/UDnn4/ZkOcXfu9N0pES4M4urVqwCcPHnSyJUIcWuyj214EjLCoORDLFoyrVZr7BLaPAkZIYTJkpAxPAkZYVC3G78khDHodLq6f8tsIIYnISMMSk6XiZbm+iS7v/+3MAwJGWFQciQjWprq6uqb/lsYhoSMEMKkSMg0LwkZIYRJuTFYqqqqjFiJaZCQEUKYlIqKirp/S8gYnoSMMCjp+BctzY0hU15ebsRKTIOEjDAo6fgXLc2NwXJj4AjDkJARBnF9LIIcyYiW5saQKSsrM2IlpkFCRhhEQkICIEcyouW5Pq+eUqmgtLTUyNW0fRIywiASExONXYIQN1VaWopSqUClUtYFjjAcCRlhEHKaTLRUJSUlqFTKayFTYuxy2jwJGWEQEjKipSopKUalUqJWKykuLjZ2OW2ehIwwiBsnIRSiJSkuLkatrj2SKSkpkR0iA5OQEQYhV5eJlkiv11NcXFJ3JKPR1MhYGQOTkBEGISEjWqKysjJqamrqjmQAioqKjFtUGychIwzieshUVFYauRIh/quwsBAAtbr2SObGNmEYamMXINqm6ysOymA30ZLcGDLXj2QkZAxLjmSEQVxfDKqyokJWHxQtRkFBAQBqtQq1WolSqZCQMTAJGWEQN644KJeJipaioKDghqMYBfb21nXBIwzDoCGzdOlSIiMjiYyM5MMPPwQgPj6e6OhoxowZw6JFi+q2PXPmDFOmTCEiIoLXXnut7ksqMzOTmJgYxo4dy5w5c+pOv5SUlDB79mzGjRtHTEwMubm5QO1aEa+88grjxo1j0qRJXLp0yZAvUdyEXq+npqYGhUoFIB9i0WIUFBTg6Niu7ncnJyvy8/OMWFHbZ7CQiY+PZ8+ePfz000+sX7+eU6dOsXHjRhYsWMDy5cvZtGkTiYmJ7Ny5E4BXXnmFN954gy1btqDX61m7di0Ab731FjNmzCA2Npbu3buzfPlyABYvXkxISAibN29m2rRpvPPOOwCsWrUKKysrNm/ezIIFC5g/f76hXqK4hatXr6LX61FZmAOQlycfYtEy5OXl4uxsXfe7k1M78vLyjVhR22ewkHF1dWX+/PmYm5tjZmZGx44dSUlJwd/fH19fX9RqNdHR0cTGxpKRkUFlZSW9e/cGYPLkycTGxqLRaDh06BARERH12gHi4uKIjo4GICoqil27dqHRaIiLi+PBBx8EoH///hQWFpKZmWmolyluIjs7GwCVuTkKpbLudyGMSa/Xk5ubi7Pzf49knJ3bUVJSQqVcBWkwBguZzp0714VGSkoKmzZtQqFQ4OrqWreNm5sb2dnZ5OTk1Gt3dXUlOzubwsJCbGxsUKvV9dqBevdRq9XY2NhQUFBw08fKysqqV1tJSQnp6en1fn6/jbh3GRkZACjN1Fg62NX9LoQx1YZJFa6utnVt1/+dk5NjrLLaPINfwnzhwgWeeeYZ/vKXv6BWq0lOTq53u0KhuOmAvdu134pSefPM/H37V199xdKlSxtTvrgHaWlpoFCgUCoxt7flctpl9Hq9TPsvjOrKlSsAuLn9N2Tc3W3rbvPz8zNKXW2dQUPmyJEjvPDCCyxYsIDIyEgOHjxY7/x8Tk4Obm5uuLu712vPzc3Fzc0NJycnSktL0Wq1qFSqunaoPQrKy8vDw8ODmpoaSktLcXBwwM3NjdzcXPz9/es91o1mzZrFpEmT6rVlZWURExNjqD+FSUlOTkZlZgaAtaszmRdTyM/Px8XFxciVCVN2/bS5p6ddXZurqw0qlVJOqRuQwU6XXblyheeff56FCxcSGRkJQK9evUhOTiY1NRWtVsvGjRsJCwvD29sbCwsLjhw5AsD69esJCwvDzMyMkJAQNm3aVK8dIDw8nPXr1wOwadMmQkJCMDMzIzw8nA0bNgBw+PBhLCws8PLyqlebnZ0dPj4+9X48PDwM9acwKVevXiU7Oxul+bWQcasNlgsXLhizLCG4fPkydnZW2Npa1rWpVEo8POy4fPmyEStr2wx2JPPZZ59RVVXF+++/X9f28MMP8/777zNv3jyqqqoIDw9n7NixACxcuJDXX3+dsrIygoODmTlzJgBvvvkm8+fPZ8WKFXh6evLRRx8B8OKLLzJ//nwiIyOxtbVl4cKFADz66KP8z//8D5GRkZibm9ddOi2ax/nz5wFQXQsZCwd71JaWnDt3jkGDBhmzNGHiUlKS8fNzaNDu5+fIsWOp6HS6W55yF/fOYCHz+uuv8/rrr9/0tp9//rlBW2BgID/88EODdm9vb1atWtWg3cHBgZUrVzZot7Cw4IMPPriHikVTSExMRG1pgfLa6TKFQkE7L3dOnT4tH2JhNMXFxeTm5jFgQPcGtwUEOLNvXzIZGRn4+voaobq2TT7xoslotVpOJiZi413/1KOdrxflZWUyMFYYzblz5wDo3Nm1wW2dOrnW20Y0LQkZ0WTOnj1LRXk5dv719wZtfDxRqlQcO3bMSJUJU3fq1CnatbPAy8uhwW329la4u9tx6lRi8xdmAiRkRJM5dOgQKnMzbLzqH8mozMyw8fXi0OHD9eY0E6I51NTUcOpUIsHBHiiVN7+Mvnt3Ty5evCSzhhuAhIxoEuXl5Rw7dgz79n4o1aoGtzt2CqC8rIzERNlbFM3r9OnTVFRU0qOH1y236dHDC51OJ0fbBiAhI5rEgQMHqKmpwbFLh5vebuPlgXk7a3bt2tXMlQlTd+DAAWxsLOja1f2W23h7O+DubseBA/ubsTLTICEj7ptOpyMuLg5rNxesnJ1uuo1CqcSha0fOnTsnA99EsykqKiIhIYG+fX3rFim7GYVCQUiIH0lJyTINUhOTkBH37fjx4+Tl5eEc3OW22zl16YhSrWbbtm3NVJkwdbt370av1zF48M2PsG80cGAAZmYqfvvtt2aozHRIyIj7otfr2bJlCxZ2ttj5ed92W7WlBQ6d23Po0CHy82V6dWFYFRUV7Ny5k+BgT1xcbO64vbW1OSEhfhw8eFBWy2xCEjLivpw4cYL09HRcegahaMRAS9fugaBQ1E0VJIShxMXFUVFRwejRgY2+z/DhXQE9W7duNVxhJkZCRtwzrVbL+g0bsLC3w6GDf6PuY9bOGseuHTlw4ID0zQiDKSkpYdu2X+nWzRMfH8dG38/JyZoBA/zZs2ePLP/RRCRkxD3bvXs3uTk5uIf0bNRRzHWuvYJRmpmxbt26my7nIMT9+vnnn9FoNERFNZxG5k7GjAnCzEwl788mIiEj7klxcTG//PILNl7u2PrcevzBzagtLHDt3Y2zZ89y/PhxwxQoTNb58+fZt28fQ4Z0rLdAWWPZ2loyZkwgp0+f5ujRowao0LRIyIh7sm7dOqqqq/Ec2O+eFiNzDuyElZMDa7//noqKCgNUKExRVVUVq1evxtnZhoiIoHt+nCFDOuLr68jatWu4evVqE1ZoeiRkxF07fvw4R44cwbVXMBb2d7+nCLXjZjwHh1BSUsK6deuauEJhivR6Pf/5z3/Iz89j+vS+mJvf+yTzKpWS6dP7UllZyZdffolOp2vCSk2LhIy4K8XFxXz73bdYOTvi2uPe9xQBrF2ccekeyL59+zhx4kQTVShMVXx8PAcPHmT06CA6drz/VVg9Pe2ZOLEnZ8+eZcuWLU1QoWmSkBGNptPp+Oqrr6iorMR7aOhddfbfilvvblg5O7Lqm29kbIK4Z+fPn2fNmjV06eLGqFGNv2T5TgYODKBvX182btwo/TP3SEJGNNqmTZs4d+4cHgP6YOlgd+c7NIJSpcInbBDVmmr+9a9/odFomuRxhem4cuUK//znP3F2bsejjw645UzL90KhUDBtWl8CApz5+uuvSEpKarLHNhUSMqJREhIS2Lx5Mw6dAnDsfOcpOu6Ghb0tXg8MIDU1le+//14uGxWNlp2dzZIlH6NW63nyyUFYWZk3+XOYmal47LFQ7O0tWbZsKampqU3+HG2ZhIy4o7S0ND7/4gusXJzwCr23q8nuxD7AF5ceQezdu5e4uLgmf3zR9uTk5LBkycfodNU888wQnJ3bGey5bGwsePbZIVhbq/nkk08kaO6ChIy4rcLCQpavWIHCTI3fiCEo1fd+xc6duPftga2fN+vWrZMLAcRtXb58mX/8YyEaTSWzZw/Bw6NpTt/ejoODNc8+OwRLSwUff7yYs2fPGvw52wIJGXFLZWVlfLJ0KWUV5fiOHIKZtZVBn0+hUOA7NBQrFyc+//xzLl68aNDnE63TmTNnWLx4EWZmeubODcPLy77ZntvJqR1z54bj6GjJ8uXLOXz4cLM9d2slISNuqrKykmXLlpGTk4Pv8CFYOTV+/qf7oTRT4zdyKKp21qxYsYK0tLRmeV7R8un1enbs2MGyZctwcrJi7tzwexrRf7/s7a147rkw/Pwc+eKLL/j5559lHM1tSMiIBqqrq1mxciWXL1/Gd9hgbDzdmvX51ZYW+I8OQ6dWseSTT7hy5UqzPr9oeaqrq1m1ahXr1q2jWzdP5s4Nx97esEfWt2Ntbc4zzwxh4MAAtmzZwqeffkp5ebnR6mnJJGREPdXV1axYsYKLFy7gPXTgHdeIMRRzm3b4jwlHo9ex+OOPZUZcE5aVlcWHH37IgQMHGD06kJkzB2JhYbi+wcZSq5VMndqHiRN7cfr0Kd5//z1SUlKMXVaLY/CQKS0tJSoqivT0dABeffVVxowZw4QJE5gwYQK//vorUDtaNzo6mjFjxrBo0aK6+585c4YpU6YQERHBa6+9Rk1NDQCZmZnExMQwduxY5syZQ1lZGVA7xffs2bMZN24cMTEx5ObmGvolthnV1dWsXLmS8+fP4z10YKOn7zcUCztbAsYMo6pGw+LFiyVoTIxer2f//v188MEHlJQU8PTTDxAREdyk42Dul0KhYMiQjjz/fDhabSUfffQRO3bskNNnN2hUyOh0Ov7973/zl7/8hdLSUj799FO0Wu0d73fixAkeeeSReumemJjIN998w4YNG9iwYQOjR4+msrKSBQsWsHz5cjZt2kRiYiI7d+4E4JVXXuGNN95gy5Yt6PV61q5dC8Bbb73FjBkziI2NpXv37ixfvhyAxYsXExISwubNm5k2bRrvvPPO3f5NTFJVVRUrVqzg3LlzeD8wAMeOAcYuCQALBzv8I4ZTWaNh0aJFsgaNiSgtLeXf//43q1atwsfHjpdfHkHXru7GLuuW/P2dePnlEQQGurFu3TqWLv1EZrC4plEh8+GHH3L+/HkSEhKA2nVE3nvvvTveb+3atbz55pu4udWe0y8vLyczM5M33niD6OholixZgk6nIyEhAX9/f3x9fVGr1URHRxMbG0tGRgaVlZX07t0bgMmTJxMbG4tGo+HQoUNERETUa4fa1fCio6MBiIqKYteuXTKK/A4qKytZtnw55y9cwGfoQBw7tzd2SfVYOtgREDGcKp2WRYsX1x0Vi7bp1KlTvPPOO5w8mcD48d149tmhRu1/aSxra3MeeyyUqVP7kJycxLvvvsPhw4dNfnBxo05s7tu3j59++onJkydjY2PD559/zoQJE+54v98fReTn5xMaGsrbb7+NtbU1zzzzDD/88APW1ta4urrWbefm5kZ2djY5OTn12l1dXcnOzqawsBAbGxvU18ZsXG8H6t1HrVZjY2NDQUEB7u7/3QsqKSmhpKSkXm2meiqmoqKCZcuWkZKSgs/QUBw6+Bm7pJuycLAjYOxwUrfEsXjxYl544QX8/FpmreLeVFRUsG7dOvbt24e7ux1PPjkMb28HY5d1VxQKBaGh7enUyZXvvjvMF198wdGjR3nkkUewtW3+K+FagkaFjFqtRnnDZIjm5uZ1X/B3w9fXl2XLltX9/uijj7J+/XrGjh3bYFuFQnHTPYDbtd+K8ncTOX711VcsXbr0bkpvk8rLy/nkk09IS0/HJ3wQ9gG+xi7ptizsbAkYO5yULXF8/PHHzJ07l/btW9ZRl7g3p0+fZvXqbyguLmHEiC6MHl27OmVr5eJiw3PPhbFr10W2bEnkr399m4ceepi+ffsaZMaMlqxRSdGlSxdWr16NVqslKSmJL7/8ksDAu5/p9Ny5c6SkpNSd5tLr9ajVatzd3cnLy6vbLicnBzc3twbtubm5uLm54eTkRGlpKVqtFpVKVdcOtUdBeXl5eHh4UFNTQ2lpKQ4ODvXqmDVrFpMmTarXlpWVRUxMzF2/ptaqrKyMj5csITMzE9/hg7HzNc5VZHfL3Nam7ojmk08+4fnnn6djx47GLkvco7KyMtatW8eBAwdwc7Nj3rxw/PycjF1Wk1CplAwf3oWgIA/WrDnC559/zuHDh3nooYcafCe1ZY3qk3nttdc4deoU+fn5zJgxg/LychYsWHDXT6bX63n33XcpLi5Go9GwZs0aRo8eTa9evUhOTiY1NRWtVsvGjRsJCwvD29sbCwsLjhw5AsD69esJCwvDzMyMkJAQNm3aVK8dIDw8nPXr1wO1swaHhIRgZmZWrw47Ozt8fHzq/Xh4eNz162mtrgfMlStX8BsxpNUEzHXmNu0IGDscLM1ZunQply5dMnZJ4h4cP36cv/71rxw6dJCRI7vy8svD20zA3MjDw465c8OJiurO6dOn+Nvf/kp8fLzJ9NU06kjGxsaGOXPm8O6771JaWsrly5dxdLz7EeCBgYHMnj2bRx55hJqaGsaMGUNUVBQA77//PvPmzaOqqorw8PC6U2gLFy7k9ddfp6ysjODgYGbOnAnAm2++yfz581mxYgWenp589NFHALz44ovMnz+fyMhIbG1tWbhw4V3X2ZaVl5fXBYzv8Aew9fE0dkn3xKydNQERw0nZ8htLly5l3rx5dOjQtLNDC8O4evUqa9as4dixY3h5OfDUU8NbXd/L3VKplAwb1oVu3bxYu/Yoq1ev5siRI8yYMQNnZ2djl2dQCn0j4nTVqlWsXbuWX375hbS0NB577DGeffZZpk2b1hw1Nov09HRGjhzJ9u3b8fHxMXY5BlFRUcGSTz4hLS0NvxFDDBowSZt3ANBh3AiDPQeApryClNjfUFRrePHFF+VigBZMr9dz5MgR1q5dQ2VlJWPGBDJsWBdUquYfE758+S4AnnsurNmfW6fTs29fEv/3f6dQKJRMnDiJIUOGNOg7bi3u9N3ZqFe1Zs0avvvuO6C28379+vV8/fXXTVupMCiNRsPKTz8lLS0N32GDW+0RzO+ZWVvhPyYcnVrFJ598UneVoWhZrl69ymeffcYXX3yBk5MFf/zjCEaODDRKwBibUqnggQc68uc/j8Lf34E1a9awdOlSCgoKjF2aQTTqf1ir1WJjY1P3u62trcldIdGa6XQ6vvzyy9qpYh7ob7SpYgzlxilolnzyCUVFRcYuSdzg5MmT/O1vfyUh4QTjx3dj7tzwZpmav6VzcrLm6acfYMqU3iQnX+Kdd/7GgQMH2lxfTaNCpkOHDixcuJC0tDTS0tL4+OOPCQgIMHBpoqls2LCB48eP49G/Nw4tZCR/U7Ows8Vv1FCull5l5cqVVFdXG7skk1ddXc2aNWtYuXIldnZqXnppOCNGdDXJo5dbUSgUDBrUgT/9aSSenrZ8/fXXfPnll1RUVBi7tCbTqP/tt956i5SUFCZOnMjUqVNJSUnhf//3fw1cmmgKBw4cYNu2bTgFdsKlW1djl2NQVs5OeIcNIi0tjVWrVrW5PcLWJDs7m7///UN27dpFWFgnXnhhGJ6ezbfuS2vj7NyOOXOGMnZsMEePHuG9997l8uXLxi6rSTTq6jIXFxcZvNgKZWZm8u1339HOww3PAX2MXU6zsPP1wr1fT44eOUrHjh0ZNmyYsUsyOYmJiXzxxeeoVPDUU4MJDDSd4QH3Q6lUMGpUIJ06ufLNN4f46KN/MGNGDAMGDDB2afelUSFz8eJFPvvsM4qKiurtHa5cudJghYn7o9Fo+Oyzz1CoVfiEhaJopVeu3AuX7oGUZ+fy448/0rlzZ7y921YfVEu2bds21q//CS8vB2bNCsXJydrYJTWg1+spKamgsrKG+PgkBg1q36L6mAMCnHnppeGsWnWQr776ivT0dCZOnNhqrz5rVMj8v//3/+jbty/9+/dvUf8Z4tZ+/fVXsrKy8B851ODLJrc0CoUC7yEDubh+M6tXr+bPf/5zq/2AthZ6vZ6ff/6ZrVu30quXNw891A9zc+Ov+XIz+/Ylk5dXuzTIjz8eB2Dw4JY1xsrGxoLZsx9gw4YEtm/fTnl5OTNmzGiV7+NGvQs0Gg2vv/66oWsRTaSgoIDY2Fjs2/th6+tl7HKMQm1pgUf/3qTuPsD+/fsZPHiwsUtq03788Ud27NhBaGgAkyf3aVFrvvze6dNXGvze0kIGagdwTprUC2trc7Zt24dGo2HWrFmtLmgaVa2/vz85OTmGrkU0kc2bN6PT63EP6WWU59fr9WjKK6gqLqHg7EWjdcDbd/DH2sWZ/9u0SZZ7MKBdu3axY8cOhgzpyJQpLTtgAKqrtbf9vSVRKBSMHRvM2LHBHD58uG4qrdakUUcyOp2OqKgounXrhoWFRV279Mm0PKWlpew/cADHLh0wb2ec8+EF5y6huVoKQOb+I+gB58BOzV6HQqHAtXc3Urft4sSJE4SEhDR7DW3dpUuX+P777wkK8uDBB3vK6XQDGTmyK/n5ZWzevBlfX1969TLODuS9aFTIjB49mtGjRxu6FtEEDh06hE6rxamr8WYmvpqW2eB3Y4QMgI23B+Y27Yjft09CponpdDrWrl2Lvb0lM2b0b/FHMK2ZQqFgypTeZGQU8/333xMcHNxg4t+WqlEh8/tp8fV6PampqQYpSNyfxMRELB3ssXR0MFoNupqa2/7enBQKBXYBvlw4fZ6qqqp6R+Li/hw9epT09HRmzAjByqp1fOG1Zmq1iujo7nz66R52797NiBGGnRewqTSqT+Y///kPffv2JSgoiKCgIIKDg01q7ZXWQqfTcSkpCWsP1ztvbELaebih0+lITk42diltytGjR3F0tKZ375a92F1b0rmzG76+jhw9esTYpTRao0Lmn//8J1988QXh4eH89NNPvPDCC4waNcrQtYm7VFJSgqa6GksHGVl9IwvH2r/HjQvgifuj1+u5dOkiHTq4yGmyZtapkyuXL6e1mqmTGhUyDg4O9OrVi6CgIPLz85kzZw4nT540dG3iLpWUlACgtrI0ciUti9m1v8f1v4+4f3q9nvLyCuzt5b3W3OztrdBqtVRVVRm7lEZpVMio1WqKi4vx9/cnISEBqF1dUbQscmXP7cnfp+kolUpsbGwoLW0dX3RtydWrlSgUCtq1a2fsUhqlUSEzffp0nnnmGYYNG8aaNWuYPHmyrELYAlla1u5ValvJYXRzuf73kE7/puXj48O5czlotTpjl2Iy9Ho9Z85k4e3t1WoGZTbq6rKpU6cyfvx4rK2tWbNmDSdPnmTo0KGGrk3cJScnJ5RKJVUlpcYupUWpKr4KgJubm5EraVvCwsJYufI0CQkZ9Okjnf/N4dKlPDIzi5kxI9LYpTTabUPmiy++uOVt3377LY8//niTFyTunUqlwtvbm4Ic6eC+Ufm1v0dbXVbbWLp164a3txcbNiTQoYML9vamNUdec6uo0PD990dxdHRoVWO+bnu8df78+dv+iJYnKCiI8tw8alpJp2BzKM24goenJw4ODsYupU1RKpU88cSTVFfr+OabQ2g0LXd6ltZOq9Wxdu0RCgsreOKJJ1vVqd/bHsm89957zVWHaCJ9+/Zl69atFF9KxTm4i7HLMbqqkquUZeUyPCrK2KW0SR4eHsTE/IEvv/yCzz/fx2OPhWJh0TJnX76uslKDhYUFgwcPJj4+nsrKlj2vnVar47vvDnPyZCZTpkxpdf3hjXo3HDt2jH/+85+Ul5ej1+vR6XSkp6cTFxdn4PLE3fL19cXPz4/ssxdxCuxkUuvI3Ez+mQsolEoGDRpk7FLarJCQEGpqavjmm2/497/jeeyxgbRr13L3tCsqNAwePJipU6ei1+s5ceKgsUu6paqqGr799hCnTl1h0qRJrWaU/40a9Q30+uuv06dPH0pLS4mOjsbGxoYxY8YYujZxj8aOHUtVyVWKLqUYuxSjqi4to/DcJQaFhsqpMgMLDQ3l8ccfJy2tiEWLfiMtrdDYJd2SlZUZ8fHxfP/99+zbt6/FTomTk3OVJUviOH06i+nTp7faAfCNChmFQsHs2bMZMGAAHTp04OOPP+bw4cN3vF9paSlRUVGkp6cDEB8fT3R0NGPGjGHRokV12505c4YpU6YQERHBa6+9Rs21ua4yMzOJiYlh7NixzJkzp25sTklJCbNnz2bcuHHExMSQm5sLQHV1Na+88grjxo1j0qRJXLp06e7+Gm1Ez5498Q8IIOfoSbRVpns5c9bBY6iUSsaNG2fsUkxCv379ePnll1EozFm2bBfx8UlGW+bhdiwtzaiqqiIuLo6qqiosLVteyBw/ns6SJXGUlWmZO3cu4eHhxi7pnjUqZK4P+vHz8+PChQtYWFig1d6+k+/EiRM88sgjpKSkAFBZWcmCBQtYvnw5mzZtIjExkZ07dwLwyiuv8MYbb7Blyxb0ej1r164F4K233mLGjBnExsbSvXt3li9fDsDixYsJCQlh8+bNTJs2jXfeeQeAVatWYWVlxebNm1mwYAHz58+/+79IG6BQKHjk4YepqarmyqFjxi7HKIpT0ii5nEFkZCROTk7GLsdk+Pv785e/zKdTp878+ONxPvssnpKSCmOX1WqUl1ezevUhvvnmIO7uXvzlL/MJDAw0dln3pVEh06NHD1566SVCQ0P5/PPPef/991GpVLe9z9q1a3nzzTfrxiYkJCTg7++Pr68varWa6OhoYmNjycjIoLKykt69ewMwefJkYmNj0Wg0HDp0iIiIiHrtAHFxcURHRwMQFRXFrl270Gg0xMXF8eCDDwLQv39/CgsLyczMxBT5+voSMWYMRRdTKEoyrRmzq6+WkRl/GF9fX0aOHGnsckyOra0tzz//PNOmTePSpXwWLtzOsWNpLfKopiU5cyaLf/xjOydO1O4c/elPf2oTO0iN6vh//fXXOX78OObm5jz33HNs3ryZf/zjH7e9z/Wji+tycnJwdf3v7MBubm5kZ2c3aHd1dSU7O5vCwkJsbGxQq9X12n//WGq1GhsbGwoKCm76WFlZWXh51V+CuKSkpME8VllZWY35U7Qq48eP5/z586TEH8bS0bjT/zcXXU0NaTvjUSsVPPXUU3fcGRKGoVQqGTZsGIGBgXz99desXn2Io0fTmDKlNw4OxllMr6UqLa1iw4YEjh1Lw8PDnWeemYW/v7+xy2oytw2Zo0eP8uqrr+Lm5sbs2bN56qmnaN++PSkpKZw/f5727ds3+oluthejUCjuuv1WbjXFws3av/rqK5YuXXq7ctsElUrFk08+yQcffMDl7XvoEDmqTU+eqdfrSd9zkIr8Ap6Z/QwuLi7GLsnkeXh48Oc//5m4uDh++eVn/v73bYwb143BgzuY/OzNer2eo0fT2LDhJFVVNYwfP54xY8a0msXIGuu2IfPBBx/w0ksvUVhYyHPPPcfXX39Nnz59SE5O5qWXXqo7ldUY7u7u9aZaz8nJwc3NrUF7bm4ubm5uODk5UVpailarRaVS1bVD7VFQXl4eHh4e1NTUUFpaioODA25ubuTm5tbtBdx4nxvNmjWrwUJsWVlZbXKNHAcHB+bMmcM/PvqI1G27CRg7DFUbexND7Qc269BxSlLSmDhxIj179jR2SeIapVLJiBEj6NmzJ9999x3r15/gyJHLTJvWBy8vB2OXZxR5eaWsW3eMCxdyCQgIICYmpsEZl7bitn0y5eXljBs3jhkzZuDq6kqfPn0AaN++/V3PaNurVy+Sk5NJTU1Fq9WyceNGwsLC8Pb2xsLCgiNHahfhWb9+PWFhYZiZmRESEsKmTZvqtQOEh4ezfv16ADZt2kRISAhmZmaEh4ezYcMGAA4fPoyFhcVN/+Ps7Ozw8fGp9+Ph4XFXr6c18fPz4+mnnqKysIjL2/egq2l7I7PzTp4h//R5wsPDW+2lnm2di4sLc+fOZdasWRQWVrN48W9s3HiS6mrjrZza3LRaHdu3n2Phwu2kpZXw0EMP8ac//anNBgzc4UjmxvPZdnZ29W6725CxsLDg/fffZ968eVRVVREeHs7YsWMBWLhwIa+//jplZWUEBwczc+ZMAN58803mz5/PihUr8PT05KOPPgLgxRdfZP78+URGRmJra8vChQsBePTRR/mf//kfIiMjMTc358MPP7yrGtuy7t27M/PRR/nq66+4/Nte/EY8gLKN9FfknTpH9tGThISEMHXqVJnSvwVTKBQMGDCAbt268dNPPxEXt4+TJzOZOrUPnTu37QlML18u4Pvvj3HlSjG9e/dm2rRpJjF+67Yhc+OH9V4/uDt27Kj796BBg/j5558bbBMYGMgPP/zQoN3b25tVq1Y1aHdwcGDlypUN2i0sLPjggw/uqU5TMGDAADQaDd9++y1pcfH4Dhvc6oMm/8x5sg4dp3fv3sycObPVTH9u6tq1a8cf/vAHBgwYwLffrubTT/fQv78/Dz7YAysrc2OX16Sqq2uIjT3N7t2XsLOzZfbs2fTq1cvYZTWb24bMuXPn6Nu3L1A7zuX6v/V6fatZ+lPU98ADD6DValmzZg1pv+3Fd3jTH9Foq+vPDaWtNszcUHmnzpF16Dg9e/bkiSeekCvJWqEuXbqwYMFrbN68mW3btnH+fA7TpvUhMLBtnL5OSclnzZqj5OZeZciQIUycOBErK9Oarfq2IfPrr782Vx2iGYWFhaFQKPjPf/7D5R178Bv+AEp1001qqNNoGHLD3FB7Dx9qsse+Li/xLFmHT9C7d28JmFbO3NycCRMm0Lt3b77++mv+/e94QkMDiI7u2eIn27yVmhodW7acJi7uAg4ODsybN6/VD6q8V7f9H/T29m6uOkQzGzp0KEqlkm+/+/Za0AxBadY0H2ilWe3cUHq9nn379qG0bto9t5yE0+QcPUnfvn157LHHJGDaCH9/f+bPn8/GjRvZvn0bSUn5/OEPA/Dysjd2aXclP7+Mb745SFpaIYMHD2by5Mkmd/RyIzmBbcIeeOABZj46k7IrOaRu34VW0zSntVTm9eeGUpk3zSXTer2e7GOJ5Bw9Sf/+/SVg2iAzMzMmTZrE3LnzqKyEJUvi2L8/2dhlNdqJExl89NEO8vIqefLJJ4mJiTHpgAEJGZM3cOBAHnvsMcpz8kn9dZfB+k/ul16vJ/voSXJPnCI0NJSZM2dKwLRhgYGBLFjwGp07d+GHH47xww9HqanRGbusW9Lp9GzefIpVqw7g6enNq6++WteHbeokZAQhISE8+cQTVOYVkPrrTrQt7KIOvV5P9pEE8k6e4YEHHiAmJkauIjMBtra2PPfcc4wZM4b9+1NYuXI3ZWUtb8XXqqoavvhiH9u3n2Pw4MG89NJLODs7G7usFkM+qQKAPn368OSTT1KZX0jq1l0tJmj0ej1Zh0+Ql3iWoUOH8vDDD0vAmBClUsmECRN44oknSE8vZtmyXRQWlhu7rDplZVWsXLmbs2ezmT59OjNmzGhz08LcL/m0ijq9e/fm6aefprKwqEWcOrt+BJN/6hxhYWE89NBDEjAmql+/fsydO5erVzUsXbqTnJyrxi6J4uIKli7dRVbWVZ5++mnCw8NlIPBNyCdW1NOzZ0+eun5Es63pLga4FznHEuuOYKZPny4fYBPXuXNn/vjHl9HpVKxcuYe8vFKj1VJSUsnKlXu4erWauXPnmdTgyrslISMa6NWrF0888QQVeQXX5jpr/rmlck6cJjfhNIMHD5aAEXW8vb154YUX0WoVrFy5h6Ki5j91Vl5ezaef7qG4uIo5c56jU6dOzV5DayIhI26qT58+zJo5k7LsHNLi4tHrmu/Knvwz58k5VnuZ8iOPPCKnyEQ9Xl5ezJv3ApWVWj77bB+Vlc13tF1To+XLL/eTl1fGnDlzJGAaQT694pb69+/Pww89zNX0K6TvOdgsKxsWXUrhyoFj9OjZk0cffVQCRtyUr68vTz31NNnZV1m16iA6neHfm3q9nu+/P0ZSUh6PPvooXbp0MfhztgXyCRa3NXToUKKjoylOSiX7SIJBn6s0M4uMvQfp1LkzT8pUMeIOgoKCeOihhzh3LputW08b/Pni45M4cuQykZGR9O/f3+DP11a0zomBRLOKiIigqKiI3bt3Y9bOGuegzk3+HJWFRaT9Fo+7uwfPzJ4tl4GKRhkyZAgpKSls27YPf39ngoIMM7FmWlohP/98km7dutUtUSIaR45kxB0pFAqmT59O9+7dyTp4jKsZWU36+DUVlVzevgdrKyvmPv881tayBrxovOnTp+Pl5cnatUcpLW36wZpVVTWsXn0IOzs7Zs2aJadw75L8tUSjKJVKHn/8cTw8PEjfuY+qkqa5fFSv05EWF4+usoo5zz6Lo6NjkzyuMB3m5uY89tjjlJdrWLfuWJP3Hf7f/yWSl1fKzJmzaNeuXZM+timQkBGNZmlpybPPPou5SkV63N4mubQ56/AJyrJziYmJwd/fvwmqFKbI29ubqKgoTp7MJDExs8keNzk5j/j4JIYPHy4d/fdIQkbcFRcXFx5//HEqCorIOnT8vh6rJC2D/NPnCQsLY8CAAU1ToDBZI0eOxMfHm59+SmiSy5pranT88MNxnJwciYqKaoIKTZOEjLhr3bp1Y9SoURScu0RJavo9PYamvILMvYfw8vZm8uTJTVyhMEUqlYpHHplBSUkF27adve/Hi4+/RHZ2CdOnP4SlpWUTVGiaJGTEPYmOjsbHx4cr+49QU3V3na16vZ7M/UfQ12h58okn5Eoy0WQCAgIIDQ1l9+5L5Obee79haWkVW7eeJTg4mB49ejRhhaZHQkbcE7VazR/+8Ae0VdV3fdqsJDWdq5cziI6KwsOjbazlLlqOBx98EJVKTWzsqXt+jO3bz1JVVcOUKVOasDLTJCEj7pmvry8jR46k6GIK5Tl5jbqPrqaG7MMn8PLyYsSIEQauUJgie3t7RowYwYkTGaSnF971/QsKyomPTyY0NFR2gpqAhIy4L2PHjsXOzo6sQ8cbdelo3qnzVJeWMX36dBnRLwxm1KhRWFlZ3VPfzG+/nQMUjB8/vukLM0ESMuK+WFpaEhUVRXluPlfTb3/paE1VFfmnztGjRw86d276WQOEuM7Kyophw4aRmHiFK1eKG32/kpIKDh5MJTQ0FCcnJwNWaDqMEjIzZ84kMjKSCRMmMGHCBE6cOMEvv/zC+PHjGT16NKtXr67bNj4+nujoaMaMGcOiRYvq2s+cOcOUKVOIiIjgtddeo+bamI3MzExiYmIYO3Ysc+bMoaysrNlfn6kJDQ3F2cWFvBNnbns0U3D2ItrqaqKjo5uxOmGqhg0bhpmZGbt3X2z0ffbuTUKn0zF69GgDVmZamj1k9Ho9SUlJbNiwoe7Hw8ODRYsW8e2337JhwwbWrFnDxYsXqaysZMGCBSxfvpxNmzaRmJjIzp07AXjllVd444032LJlC3q9nrVr1wLw1ltvMWPGDGJjY+nevTvLly9v7pdoclQqFaNGjqQ8L/+WfTO6Gi2FZy8S3K0b3t7ezVyhMEU2NjYMHDiQo0fTKCu78xWQGo2W/ftT6N69B66urs1QoWlo9pBJSkpCoVDw9NNP8+CDD/LNN98QHx9PaGgoDg4OWFtbExERQWxsLAkJCfj7++Pr64tarSY6OprY2FgyMjKorKykd+/eAEyePJnY2Fg0Gg2HDh0iIiKiXrswvNDQUCytrCg4d/O9xpLL6WgqKhkxfHgzVyZMWXh4ODU1Oo4cuXzHbRMTMykrqyI8PLwZKjMdzR4yJSUlDBo0iGXLlvHll1/yn//8h8zMzHp7Dm5ubmRnZ5OTk9OodldXV7KzsyksLMTGxga1Wl2v/WY1pKen1/vJymraSR9Njbm5OQMHDOBqagbc5JRZ0YVknJyd6Nq1qxGqE6bKy8uLgAB/DhxIveOFKQcPpuLk5Cjv0SbW7FP99+nThz59+gBgbW3N1KlTee+993j22WfrbadQKG76priX9t/76quvWLp06b2+BHEL/fv3Z+fOnQ0GZ+p1Okpz8hgbESEz2IpmN3BgKGvWrCErqwRPT/ubbnP1aiUXL+YSIe/RJtfsIXP48GE0Gg2DBg0CavtovL29ycv777n8nJwc3NzccHd3b1R7bm4ubm5uODk5UVpailarRaVS1bX/3qxZs5g0aVK9tqysLGJiYpr65ZqUgIAA7B0cKK2ov+66tqoa9Pq605tCNKfevXuzdu1aEhIybhkyiYmZ6PV6+vbt28zVtX3NHtlXr17lww8/pKqqitLSUn766Sf+/ve/s2/fPgoKCqioqGDr1q2EhYXRq1cvkpOTSU1NRavVsnHjRsLCwvD29sbCwoIjR44AsH79esLCwjAzMyMkJIRNmzbVa/89Ozs7fHx86v3IoKv7p1Ao6BYcjLa6/uSE2qpqbK/9zYVobnZ2drRv354zZxqeOr/uzJksnJ2d8PLyasbKTEOzH8kMHz6cEydOMHHiRHQ6HTNmzKBfv3788Y9/ZObMmWg0GqZOnUrPnj0BeP/995k3bx5VVbUdctdXpVu4cCGvv/46ZWVlBAcHM3PmTADefPNN5s+fz4oVK/D09OSjjz5q7pdo0rp27Up8fHy9Np1GQ2DPnjc9dSlEcwgMDGTz5k2Ul1ff5FY9ly7l07//QHmPGoBRll9+6aWXeOmll+q1RUdH33T8xKBBg/j5558btAcGBvLDDz80aPf29mbVqlVNVqu4O+3bt2/QptfpbtouRHPp1KkTen3tMsq/V12tpapKQ8eOHY1QWdsnPVyiSTk5Od2049TX19cI1QhR6/qp2oyMoga3VVXVDuSW96hhSMiIJqVQKDA3N2/QLn1ewpjatWuHjU07CgvLG9xWU6MDkAGYBiIhI5rc9XFK1ykUCqytrY1UjRC1bGxsKC1tOPJfq9VhZWXZ4H0rmoaEjGhyv59dWSmzLYsWTjr8DUdCRhicfHxFS1BeXoGVVcNVWJVKBRUVleh0OiNU1fZJyIgmp9VqG/zemLVmhDCUoqIiSkpKcHW1bXCbubkKvV5Penq6ESpr+yRkRJOr+v20Mnp9vRkahGhup07VLsXctat7g9usrMzrbSOaloSMaFJJSUloNJoG7fv37zdCNUKARqNh69YteHjY4elp1+B2lUpJ585u/PbbDsrLG159Ju6PhIxoMhqNhp9++gl+14mqsjAnLi7upjNiC2Fo27ZtIy8vn6io7rfs4I+K6k55eTm//PJLM1fX9knIiCah0+lYtWoVSUlJmNvZ1LvN3NaGGvQsXbaM4uLGL4UrxP06ePAgGzdupFcvbwIDbz1Wy9vbgSFDOrJr1y62b9/ejBW2fRIy4r5lZWWx8B//4MiRI7j37Yna0rLe7QqVCr+RQykqLuLdd9/l+PHjxilUmJSDBw+yatUqOnZ05eGHQ+64fXR0T3r29ObHH39kx44dcrFKE5HRR+KelZaWsmvXLmK3bEGhUuEzdCD2Hfy5mnGlwbbWrs50GD+KjL0H+de//kWfPn0YP368zHormlx1dTXff/898fHxtG/vwuOPh2JmduexWkqlghkzQtBqdaxbt46kpCRiYmKwsrJqhqrbLgkZcdfS09OJi4vj0KFD1NTUYOfvg+fAvphZ3/7DaOnkQIfIUeSePMOJhASOHTtGly5dGDZsGD169JDFosR9u3jxImvW/IfMzCuMGNGFiIhgVKrGv6/UahWzZoWyc+cFNm8+TlraZaZPf4hu3boZsOq2TUJG3JFeryc7O5uTJ09y/MQJUpKTUapV2HcIwDmoM5aON18I6mYUSiVuvbrh1LUThReSSDl7kX/+8584OjrSp08fevToQceOHRvMGiDE7eTn57N+/XqOHj2Kvb0VTz45mKCge5svT6lUMHx4FwICnFmz5gjLly8nODiYKVOmyBx890BCRtxUTU0Nly5d4uTJkyScPEn+tXEuVs6OuIf0wrFze9QWFvf8+GpLC1x7BOHSrSsllzMovJDEb3Fx7NixA0srK7oFB9OzZ0+Cg4Nl3jNxS0VFRWzfvp1du3ahUOgZPTqQYcO6YGFx/19t7ds78+c/j2Lv3kv8+utZ3nnnHQYNGsTo0aNlMs27ICEjACgvLycpKYmkpCQuXbpESmoqNRoNSpUKaw83PEP7YevrhXm7pv3CVyiV2Af4Yh/gi1ajoTQzm6tpGZw4lVi78qlCgaeHBx07dqz7cXJykrmmTFxOTg6//vorBw4cQK/X0aePL+PGBePg0LTvT7VaSXh4Z/r182Pr1jPs37+P+Ph4+vbty5gxY2S110aQkDFBWq2W7Oxs0tLSSEpK4uLFi2RlZQG1EwVaOjti3ymAdh5utPNyR2XWcL4nQ1CZmWHv74O9vw96nY6KvAJKM7Moyclj34ED7NmzB6hdTvd64Pj7+9ctxy3aNr1ez8WLF4mLi+PEieOoVEoGDPBn2LAuODu3M+hz29hYMHlyb0aN6squXRfZt+8ER44cITg4iGHDhhMUFCR9ircgIdPGaTQaMjMzSUtLq/vJyMigpqZ2oSaVuTlWrk649emOtZsL1i7OKM2M/7ZQKJW19bi5ALWra1YWFVOek0d5Th6nLpzn2LFj1zZW4Obqip+fHz4+Pvj6+uLj44ONjc1tnkG0FtXV1Rw+fJi4uDgyMjKwsjJn2LAuDB3aCTs7yzs/QBOys7MiKqoHI0Z0JT4+ib17k1i+/Ayurq6Eh4cTGhoqV6P9jvG/TUST0Ov1lJSUkJmZSUZGBhkZGVxOSyM7Oxv9tdllVebmWDo5YN+1A1ZOjlg6OWLhYNcqTj0plEqsnByxcnLEObAzAJqycioKCqnML6Qiv4iEs2c4fPhw3X0cHB3x8/XF29sbLy8vvL29cXV1lT3OVqKgoIBdu3axd+9eysvL8fS0Z+rUPvTt64u5uXG/uqytzRk1qrb/JyEhgz17LvHDDz/wyy8/Exo6iPDwcNzdG86TZookZFqhqqoqrly5QkZGRm2oZGaSkZ5eb94lM2srLJwccOkeiKWTA1bOjpjZtGsVgdJYZu2sMWtnjZ2vd11bTWUVlQWFVBQUUZlfyPnUFBJOnoRrA+vUZmZ4enjg7e1dL3xsbRvOziuan16v58KFC8TFxZGQkABA9+6eDBnSjw4dXFrc+1etVtK3ry99+/py+XIBe/cmsWfPbnbu3ElQUBDDhg0jODjYpHdsJGRaML1eT35+ft2RSXp6OhkZGeTl59d9aSrVaiwd7bHw9sDe0R4LR3ssHR1QW5pmH4Xa0gIbLw9svP57qamupoaqohIqC4upLCyioLCYrBPH603a2c7GBh9vb3x8fOoCyMPDQ1ZLbCZarZajR4+ydesWMjOvYG1twfDhnRk0qAOOjq3j6kI/Pyf8/JyIiurOgQMpxMcns2LFClxcXBg9ejQDBw7ErJn6N1sS+QS1ENXV1XVBkpmZWRcoN06bb2Fni4WjPW4+3WqDxdEBc9u2dXRiCEq1GisXJ6xcnOq111RU1gVPZWExl/NyuXDxIrpr6+EolUrc3d3rgsfHxwcfHx856mlCWq2WAwcOsHXrFnJz83B3t2P69L706ePbqFH6LZGtrSWjRgUyfHgXTp7MZOfOC3z33Xds3ryJ0aPHMHjwYMzNzY1dZrORkDECvV5Pbm4uycnJpKSkkJSUREZm5g19J2ZYONrTrr0vzk4OWDo6YOlg3yI65NsStZUlNlaW2Hj999y5XqejqqSUyoIiKguLuFpYxInTpzh06FDdNk7OznRo35721368vb3liOcenDx5krVr11BQUIi3twOzZg2kWzcvlMq2sdOkUinp3duHXr28uXAhh23bzvH9998TGxvLpEmTGDBggEnsILbJT8Yvv/zCihUr0Gg0PPbYY8TExBi1Hr1eT2pqKmfOnCE5OZnk5OS6/hOVmRmWLk64dA/EysUJS0cHzGysTeLN1xIplEosHeywdLAD/Oraayqrao948gspz80n4czpuosMVGo1fr6+tG/fns6dOxMUFGSSp0Uaq6ysjO+//55Dhw7h6WnPk08OJjDQvc2+5xUKBV26uNOlizuXLuWxefMpvv76a44ePcojjzyCg4ODsUs0qDYXMtnZ2SxatIgff/wRc3NzHn74YQYOHEinTp2atQ69Xk9GRgZHjhzh8JHDFOQXAGDpYI+ltzsOrs5YuzpjYW+HwoQ7BVsLtaUFNp7u2Hj+96hHU1ZOeW4+5bn5ZOfmk7pzJzt27MDC0oJePXsREhJCYGCgTJFzg+zsbBYvXkxp6VVGjQpk1KhA1GrTef937OjCc8+FsWfPRTZtOs3f/vY3nn/+edq3b2/s0gymzYVMfHw8oaGhdXsHERERxMbGMnfu3Gar4ciRI/yycSO5OTkoFAraebnj/cAAbP287msqFtGymLWzxr6dNfYBvgDotFrKsnIpTrnM0ePHOXjwIFbW1gweNIiJEyea9BVGUDtV0eeff05NTRUvvDAMHx9Ho9Rhbq667e+GplQqCAvrTFCQB//6VzxffPE5r766oM2Or2lzIZOTk1NvXiE3N7e6SyGvKykpoaSkpF7b9RHv9+vixYt8+eWXmDvY4zUoBDt/H5O90svUKFUqbL09sPX2QBeqpTQzm6JLKWzfvh1zc3OioqKMXaJRbdu2jfT0dB57LNRoAQMQHOzJ2bPZ9X43BldXW2bMCGHZsl38/PPPPPTQQ0apw9DaXMjcbKGh35/r/eqrr1i6dGmTP7dOp+PzL74ApYKA0WGorZp3NHJLofxdJ/jvfzcFSpUKO18vbH08SamqYvPmzfTs2RM/P78737mNKioqwsJCbbQv9esGDWrP5csF5OaW0q+fH4MGGe9UVUCAM87O7SgqKjJaDYbW5j797u7u9UZ95+Tk4ObmVm+bWbNmMWnSpHptWVlZ932BgEKhoGePHuzevZuUrTvxfqB/g8tmTYGtrxelNyxcZutrmguT1VRWcuXgMcqu5ODj44Ojo/H23lsCX19fdu/ezeXLBQQEOButDoVC0aiVMptDfn4Z+fmlDBzoa+xSDKbNhczgwYP55JNPKCgowMrKiq1bt/LXv/613jZ2dnbY2dk1+XPXvnkfplu3bqz+9lsubfwVCztbbLw9sPH2pJ2Hq0ns1Tt17YgCKMvJo52bC45dOxq7pGah1+upLCjkanoWpRlXKM/NR6lQEBkZSUREhMlfANC9e3ccHOz57LN9PPnkIKMGTUuQlVXCP/+5FysrK/r162fscgxGoW+DC1n/8ssvfPrpp2g0GqZOncrTTz99x/ukp6czcuRItm/f3iTTd5eXl3Pw4EFOnTrF+fPnqampQalWYe3uho23B9auzlg62ptE6LRVer2e6uKrlOcXUJaZTVlmFpqKSqB2r71bt26EhITg6Wnc00MtSX5+Pp98soTi4iIiI7sRGtr+rlaubAt0Oj3HjqWxYUMCarUl8+bNa9XLkN/pu7NNhsy9aOqQuVF1dTUXLlzg9OnTJJ46RV5uLnBtWn1HeyydHbFyrh2RbuFoj9LE93hbIr1eT/XVUiryCqjIL6Ayr5DKgkK0mtrZrK2srQkOCqJbt24EBQUZ5Ei5rSguLubLL7/g/PkLuLnZEhXVnaAgjzY7TuZGly7l8ssviaSnF+Ln58sTTzzZ6hdAk5BpJEOGzO8VFhZy+fJlLl++TGpqKqmpqXWDMxVKZW3wXBvpb+pzkRnD7+c6qx2EWYS2uhoAtVqNj48P/v7++Pn54efnh4eHh8lfonw39Ho9J0+e5KeffiQnJ5cOHVwYNqwzgYEebWbE/3V6vZ5Ll/LYufMCZ85k4eBgz4QJEwkJCWkT75k7fXfKuRojcHR0xNHRkV69egG1b8KCgoK64ElJTSU9PZ3CC8l19zGztsLCwb52zjKn2mlmLBzs5KjnPuj1ejSlZbVTyBQVU1lQRHVRCZUlV+vP2uzpif+AAXWh4unpafL9K/dLoVDQs2dPunXrxu7du/n11618/vk+XF1tGTq0IyEhfkafzv9+1dToOHEinZ07L5KZWYSNTTuio6MZMWKEzF0mmpdCocDZ2RlnZ2f69OkDNFwfJjMzk/SMDLLOXUJ7bcExhUKBhb3dtaOd2gkzLR3tMWsn09L8nraqum4izMrCIqoKi6kqKq473cW1/4P2Ae3rpv/38vKS9WcMTKVSMWzYMIYOHcqxY8fYvn0bP/54nNjY0wwY4E9oaHtcXFrX4nPFxRUcOJDC/v0plJRU4OHhwYwZM+jfv79Jhct1EjItlEKhwN7eHnt7e4KCguratVotubm5/11LJiOD9IwMspMv122jMje/Fjq14WPp6IClk4NJXGRQO8Hl1WsTXNYGSnVhMdVl/11rx8raunY6/+DuddP6e3p6yhLORqRSqQgJCaFfv35cunSJ3377jV27EoiLu0DXru4MHtyeoCDPFnsqTafTc/FiLvv2JXHq1BX0ej1BQUEMHz6CoKAgk97pa/vfOm2MSqXCw8MDDw+Pepc9VlRUkJmZWW9lzIzkNArOXqzdQKHA0t6u9iIDl9oLDVp78Oh1OqqKr9Z2xOcXUpFfSGVBEbprR3pKlQp3Nzd8grvVW6DM3t7epD/0LZlCoaBTp0506tSJoqIi9u7dy969e/jii/04OFgzaFAAAwe2x8amZewQVFRoOHw4lfj4ZHJzr2Jj046RI0cxZMgQXFxcjF1ei9B6v2FEPVZWVnTs2JGOHf87JuV6X096ejppaWm1FxpcvsyVSym1G9QLHifaebhi4dByv4A15RWUZeVQkZvfIFDMzMzw9fXFL7g7fn5++Pj44O7uLlPwt2IODg5ERkYyduxYTp48ya5dO9m8+TS//nqO3r29GTKko9Gmp8nKKiE+PonDhy9TXV1DQEAA48dPpk+fPjID9+/IJ7ANu7Gv58aLDIqLi+suMvh98KgtLbB2c8Haw4127q5YOjkYLXSqS8soy86lPCuH8uw8qkquAg0Dxc/PD3d3d+k7aaNUKhW9e/emd+/eZGVlsXPnTvbv38/hw5cJCHBmxIguzXIJtF6vJykpj+3bz3H+fA5qtZp+/foxbNgwk54u6E4kZEyMQqHAwcEBBwcHevbsCfx3mecLFy5w8eJFzp8/T9bBYwCozc2x8nDFzt8HOx8vVBaG67jU63SUZeVQnJJO+ZVsqq6WAmBpZUWXTp3o3LkznTt3xtvbW67uMlEeHh489NBDPPjgg+zfv58dO7bz+ef78PJyYOTILvTo4d3k/TZ6vZ6zZ7PZvv0cKSn52NraEh0dzQMPPCCrpDaChIxAoVDg4uKCi4sLgwYNAmrH8ly4cIELFy5w6vRpMnYfIFOppJ2XO/b+Ptj6eTfJsgU6rZayKzkUp6ZRmpZJTWUVZubmBAUG0qVLFzp16oS3t7ccpYh6rKysGD58OGFhYRw8eJCtW7ewatVB3NzsiI6uHdzZFJKT89mwIYH09EIcHR2YPn06gwYNMsmrxO6VDMa8pjkHY7Y211f2PHbsGEeOHqWwoHYBtqY4PXH97WdhaUnPHj3o06cPQUFB8iEWd0Wn03Hs2DE2bvyFnJxcgoM9ePDBnvd8+XNxcQX/93+JHD2ahoODPZGRUQwYMED6+G5CBmOK+6ZQKAgICCAgIICJEyeSlpbG6dOn0Wg0TfL47du3p2vXrtJhKu6ZUqmkX79+9OrVi99++43NmzexcOF2xo4NJjy8013tEB06lMr69SeoqdETERFBRESEXN5+HyRkxF1RKBR1ne1CtDRqtZrRo0fTv39/1q5dy8aNJ0hNzeehh/phaXn7nRiNRsv69Sc4cCCFLl0688gjMxosEyLunoSMEKLNcXBw4Omnn2b79u1s2LCB99/fSrt2tz8aqaiopqSkkjFjxhAdHS39gE1EQkYI0SYpFApGjRpFQEAAu3btQqfT3XH7AQMG0KNHj2aq0DRIyAgh2rTrMwgI45DjQSGEEAYjISOEEMJgJGSEEEIYjISMEEIIg5GQEUIIYTASMkIIIQxGLmG+RqvVApCVlWXkSoQQovW4/p15/Tv09yRkrsnNzQUgJibGyJUIIUTrk5ubi7+/f4N2mYX5msrKShITE3F1dZW1SppAVlYWMTExrF69Gg+Pppl2XYimIu/PpqPVasnNzaV79+5YWlo2uF2OZK6xtLQkJCTE2GW0OR4eHrJ0gmix5P3ZNG52BHOddPwLIYQwGAkZIYQQBiMhI4QQwmAkZIRB2NnZMXfuXOzs7IxdihANyPuz+cjVZUIIIQxGjmSEEEIYjISMEEIIg5GQEQbxyy+/MH78eEaPHs3q1auNXY4Q9ZSWlhIVFUV6erqxS2nzJGREk8vOzmbRokV8++23bNiwgTVr1nDx4kVjlyUEACdOnOCRRx4hJSXF2KWYBAkZ0eTi4+MJDQ3FwcEBa2trIiIiiI2NNXZZQgCwdu1a3nzzTdzc3IxdikmQaWVEk8vJycHV1bXudzc3NxISEoxYkRD/9c477xi7BJMiRzKiyd3sqniFQmGESoQQxiYhI5qcu7s7eXl5db/n5OTIqQkhTJSEjGhygwcPZt++fRQUFFBRUcHWrVsJCwszdllCCCOQPhnR5Nzd3fnjH//IzJkz0Wg0TJ06lZ49exq7LCGEEci0MkIIIQxGTpcJIYQwGAkZIYQQBiMhI4QQwmAkZIQQQhiMhIwQQgiDkUuYhWgmXbt2pUuXLiiV9fftli1bho+Pz03vc/LkSf71r3+xZMkSEhIS+OGHH3j77bfv6nnffvttHB0dmTdv3j3XLsS9kpARohl99dVXODk5NXr7Hj16sGTJEgAuXrxIdna2oUoTwiDkdJkQLcBPP/3EyJEjKSsro7y8nHHjxrF+/XoOHDhAVFQUV65cYcmSJRw+fJhXX30VgB07djBt2jQmTpzIww8/zLFjx4DatVJefPFFIiIiePTRR0lKSjLmSxMmTo5khGhGs2bNqne6zMfHh2XLljFp0iT27NnD3//+d6qrqwkJCWHixIkcOHAAAE9PT1544QW2bNnCe++9R0pKCosWLeLrr7/G0dGRCxcu8Pjjj7N161aWLFmCpaUlsbGxFBYWMmnSJPr162eslyxMnISMEM3odqfL3nrrLSZMmIClpSU//vjjbR9n79695OTk8Nhjj9W1KRQKLl++zL59+1iwYAEKhQInJydGjx7dlC9BiLsiISNEC5Gfn09VVRXV1dXk5OTg6+t7y211Oh2DBg1i8eLFdW1Xrlypm+36xtmiVCqVwWoW4k6kT0aIFkCj0fDyyy/z4osvMnfuXF5++WU0Gk29bVQqFTU1NQCEhoayd+9eLl26BMDOnTt58MEHqaqqYujQofzwww/odDqKi4vZvn17s78eIa6TIxkhmtHv+2QAXn75Zfbv34+rqyvTpk0DYNu2bSxatIjw8PC67fr06cPixYt5/vnnWbZsGW+//TYvv/wyer0etVrNihUrsLa2Zt68ebz55puMGzcOJycnunTp0qyvUYgbySzMQgghDEZOlwkhhDAYCRkhhBAGIyEjhBDCYCRkhBBCGIyEjBBCCIORkBFCCGEwEjJCCCEMRkJGCCGEwfx/1Nqqn/udeL4AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.violinplot(x=\"Exited\", y=\"Balance\", data=dc_train, palette=\"Set3\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Gender\n",
       "0    0.248191\n",
       "1    0.165511\n",
       "Name: Exited, dtype: float64"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "IsActiveMember\n",
       "0    0.266285\n",
       "1    0.143557\n",
       "Name: Exited, dtype: float64"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "country_Germany\n",
       "0.0    0.163091\n",
       "1.0    0.324974\n",
       "Name: Exited, dtype: float64"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "country_France\n",
       "0.0    0.245877\n",
       "1.0    0.160593\n",
       "Name: Exited, dtype: float64"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "cat_vars_bv = ['Gender', 'IsActiveMember', 'country_Germany', 'country_France']\n",
    "\n",
    "for col in cat_vars_bv:\n",
    "    dc_train.groupby([col]).Exited.mean()\n",
    "    print()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "NumOfProducts\n",
       "1    0.273428\n",
       "2    0.076881\n",
       "3    0.825112\n",
       "4    1.000000\n",
       "Name: Exited, dtype: float64"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "1    4023\n",
       "2    3629\n",
       "3     223\n",
       "4      45\n",
       "Name: NumOfProducts, dtype: int64"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Computed mean on churned or non chuned custmers group by number of product on training data\n",
    "col = 'NumOfProducts'\n",
    "dc_train.groupby([col]).Exited.mean()\n",
    "# unique \"NumOfProducts\" on training data\n",
    "dc_train[col].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "eps = 1e-6\n",
    "\n",
    "dc_train['bal_per_product'] = dc_train.Balance/(dc_train.NumOfProducts + eps)\n",
    "dc_train['bal_by_est_salary'] = dc_train.Balance/(dc_train.EstimatedSalary + eps)\n",
    "dc_train['tenure_age_ratio'] = dc_train.Tenure/(dc_train.Age + eps)\n",
    "dc_train['age_surname_mean_churn'] = np.sqrt(dc_train.Age) * dc_train.Surname_enc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "bal_per_product           0\n",
       "bal_by_est_salary         0\n",
       "tenure_age_ratio          0\n",
       "age_surname_mean_churn    0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_cols = ['bal_per_product', 'bal_by_est_salary', 'tenure_age_ratio', 'age_surname_mean_churn']\n",
    "# Ensuring that the new column doesn't have any missing values\n",
    "dc_train[new_cols].isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Linear association of new columns with target variables to judge importance\n",
    "sns.heatmap(dc_train[new_cols + ['Exited']].corr(), annot=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "dc_val['bal_per_product'] = dc_val.Balance/(dc_val.NumOfProducts + eps)\n",
    "dc_val['bal_by_est_salary'] = dc_val.Balance/(dc_val.EstimatedSalary + eps)\n",
    "dc_val['tenure_age_ratio'] = dc_val.Tenure/(dc_val.Age + eps)\n",
    "dc_val['age_surname_mean_churn'] = np.sqrt(dc_val.Age) * dc_val.Surname_enc\n",
    "dc_test['bal_per_product'] = dc_test.Balance/(dc_test.NumOfProducts + eps)\n",
    "dc_test['bal_by_est_salary'] = dc_test.Balance/(dc_test.EstimatedSalary + eps)\n",
    "dc_test['tenure_age_ratio'] = dc_test.Tenure/(dc_test.Age + eps)\n",
    "dc_test['age_surname_mean_churn'] = np.sqrt(dc_test.Age) * dc_test.Surname_enc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(7920, 11)"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CreditScore</th>\n",
       "      <th>Age</th>\n",
       "      <th>Tenure</th>\n",
       "      <th>Balance</th>\n",
       "      <th>NumOfProducts</th>\n",
       "      <th>EstimatedSalary</th>\n",
       "      <th>Surname_enc</th>\n",
       "      <th>bal_per_product</th>\n",
       "      <th>bal_by_est_salary</th>\n",
       "      <th>tenure_age_ratio</th>\n",
       "      <th>age_surname_mean_churn</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.284761</td>\n",
       "      <td>-0.274383</td>\n",
       "      <td>-1.389130</td>\n",
       "      <td>0.670778</td>\n",
       "      <td>0.804059</td>\n",
       "      <td>-1.254732</td>\n",
       "      <td>-1.079210</td>\n",
       "      <td>-0.062389</td>\n",
       "      <td>0.095448</td>\n",
       "      <td>-1.232035</td>\n",
       "      <td>-1.062507</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-0.389351</td>\n",
       "      <td>-1.128482</td>\n",
       "      <td>-0.004763</td>\n",
       "      <td>0.787860</td>\n",
       "      <td>-0.912423</td>\n",
       "      <td>1.731950</td>\n",
       "      <td>-1.079210</td>\n",
       "      <td>1.104840</td>\n",
       "      <td>-0.118834</td>\n",
       "      <td>0.525547</td>\n",
       "      <td>-1.062507</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-0.233786</td>\n",
       "      <td>0.579716</td>\n",
       "      <td>1.379604</td>\n",
       "      <td>-1.218873</td>\n",
       "      <td>0.804059</td>\n",
       "      <td>-0.048751</td>\n",
       "      <td>0.094549</td>\n",
       "      <td>-1.100925</td>\n",
       "      <td>-0.155854</td>\n",
       "      <td>0.690966</td>\n",
       "      <td>0.193191</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-1.426446</td>\n",
       "      <td>-0.843782</td>\n",
       "      <td>-0.004763</td>\n",
       "      <td>-1.218873</td>\n",
       "      <td>0.804059</td>\n",
       "      <td>1.094838</td>\n",
       "      <td>0.505364</td>\n",
       "      <td>-1.100925</td>\n",
       "      <td>-0.155854</td>\n",
       "      <td>0.318773</td>\n",
       "      <td>0.321611</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-0.119706</td>\n",
       "      <td>-1.602981</td>\n",
       "      <td>-0.350855</td>\n",
       "      <td>-1.218873</td>\n",
       "      <td>0.804059</td>\n",
       "      <td>-1.244806</td>\n",
       "      <td>1.561746</td>\n",
       "      <td>-1.100925</td>\n",
       "      <td>-0.155854</td>\n",
       "      <td>0.487952</td>\n",
       "      <td>0.912973</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   CreditScore       Age    Tenure   Balance  NumOfProducts  EstimatedSalary  \\\n",
       "0     0.284761 -0.274383 -1.389130  0.670778       0.804059        -1.254732   \n",
       "1    -0.389351 -1.128482 -0.004763  0.787860      -0.912423         1.731950   \n",
       "2    -0.233786  0.579716  1.379604 -1.218873       0.804059        -0.048751   \n",
       "3    -1.426446 -0.843782 -0.004763 -1.218873       0.804059         1.094838   \n",
       "4    -0.119706 -1.602981 -0.350855 -1.218873       0.804059        -1.244806   \n",
       "\n",
       "   Surname_enc  bal_per_product  bal_by_est_salary  tenure_age_ratio  \\\n",
       "0    -1.079210        -0.062389           0.095448         -1.232035   \n",
       "1    -1.079210         1.104840          -0.118834          0.525547   \n",
       "2     0.094549        -1.100925          -0.155854          0.690966   \n",
       "3     0.505364        -1.100925          -0.155854          0.318773   \n",
       "4     1.561746        -1.100925          -0.155854          0.487952   \n",
       "\n",
       "   age_surname_mean_churn  \n",
       "0               -1.062507  \n",
       "1               -1.062507  \n",
       "2                0.193191  \n",
       "3                0.321611  \n",
       "4                0.912973  "
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# initialize the standard scaler\n",
    "sc = StandardScaler()\n",
    "cont_vars = ['CreditScore', 'Age', 'Tenure', 'Balance', 'NumOfProducts', 'EstimatedSalary', 'Surname_enc', 'bal_per_product'\n",
    "             , 'bal_by_est_salary', 'tenure_age_ratio', 'age_surname_mean_churn']\n",
    "cat_vars = ['Gender', 'HasCrCard', 'IsActiveMember', 'country_France', 'country_Germany', 'country_Spain']\n",
    "# Scaling only continuous columns\n",
    "cols_to_scale = cont_vars\n",
    "sc_X_train = sc.fit_transform(dc_train[cols_to_scale])\n",
    "# Converting from array to dataframe and naming the respective features/columns\n",
    "sc_X_train = pd.DataFrame(data=sc_X_train, columns=cols_to_scale)\n",
    "sc_X_train.shape\n",
    "sc_X_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Scaling validation and test sets by transforming the mapping obtained through the training set\n",
    "sc_X_val = sc.transform(dc_val[cols_to_scale])\n",
    "sc_X_test = sc.transform(dc_test[cols_to_scale])\n",
    "# Converting val and test arrays to dataframes for re-usability\n",
    "sc_X_val = pd.DataFrame(data=sc_X_val, columns=cols_to_scale)\n",
    "sc_X_test = pd.DataFrame(data=sc_X_test, columns=cols_to_scale)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['Gender', 'HasCrCard', 'IsActiveMember', 'country_France',\n",
       "       'country_Germany', 'country_Spain', 'CreditScore', 'Age', 'Tenure',\n",
       "       'Balance', 'NumOfProducts', 'EstimatedSalary', 'Surname_enc',\n",
       "       'bal_per_product', 'bal_by_est_salary', 'tenure_age_ratio',\n",
       "       'age_surname_mean_churn'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Creating feature-set and target for RFE model\n",
    "y = dc_train['Exited'].values\n",
    "X = dc_train[cat_vars + cont_vars]\n",
    "X.columns = cat_vars + cont_vars\n",
    "X.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ True  True  True  True  True  True False  True False False  True False\n",
      "  True False False  True False]\n",
      "[1 1 1 1 1 1 5 1 4 6 1 8 1 7 3 1 2]\n"
     ]
    }
   ],
   "source": [
    "# for logistics regression\n",
    "rfe = RFE(estimator=LogisticRegression(), n_features_to_select=10) \n",
    "rfe = rfe.fit(X.values, y) \n",
    "# mask of selected features\n",
    "print(rfe.support_)\n",
    "# The feature ranking, such that ranking_[i] corresponds to the ranking position of the i-th feature \n",
    "print(rfe.ranking_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Gender',\n",
       " 'HasCrCard',\n",
       " 'IsActiveMember',\n",
       " 'country_France',\n",
       " 'country_Germany',\n",
       " 'country_Spain',\n",
       " 'Age',\n",
       " 'NumOfProducts',\n",
       " 'Surname_enc',\n",
       " 'tenure_age_ratio']"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Logistic regression (linear)\n",
    "mask = rfe.support_.tolist()\n",
    "selected_feats = [b for a,b in zip(mask, X.columns) if a]\n",
    "selected_feats"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "rfe_dt = RFE(estimator=DecisionTreeClassifier(max_depth = 4, criterion = 'entropy'), n_features_to_select=10) \n",
    "rfe_dt = rfe_dt.fit(X.values, y)  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['IsActiveMember',\n",
       " 'country_Germany',\n",
       " 'Age',\n",
       " 'NumOfProducts',\n",
       " 'EstimatedSalary',\n",
       " 'Surname_enc',\n",
       " 'bal_per_product',\n",
       " 'bal_by_est_salary',\n",
       " 'tenure_age_ratio',\n",
       " 'age_surname_mean_churn']"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mask = rfe_dt.support_.tolist()\n",
    "selected_feats_dt = [b for a,b in zip(mask, X.columns) if a]\n",
    "selected_feats_dt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((7920, 10), (1080, 10), (1000, 10))"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "selected_cat_vars = [x for x in selected_feats if x in cat_vars]\n",
    "selected_cont_vars = [x for x in selected_feats if x in cont_vars]\n",
    "# Using categorical features and scaled numerical features\n",
    "X_train = np.concatenate((dc_train[selected_cat_vars].values, sc_X_train[selected_cont_vars].values), axis=1)\n",
    "X_val = np.concatenate((dc_val[selected_cat_vars].values, sc_X_val[selected_cont_vars].values), axis=1)\n",
    "X_test = np.concatenate((dc_test[selected_cat_vars].values, sc_X_test[selected_cont_vars].values), axis=1)\n",
    "# print the shapes\n",
    "X_train.shape, X_val.shape, X_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{0: 1.0, 1: 3.925373134328358}"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Obtaining class weights based on the class samples imbalance ratio\n",
    "_, num_samples = np.unique(y_train, return_counts=True)\n",
    "weights = np.max(num_samples)/num_samples\n",
    "# Define weight dictionnary\n",
    "weights_dict = dict()\n",
    "class_labels = [0,1]\n",
    "# Weights associated with classes\n",
    "for a,b in zip(class_labels,weights):\n",
    "    weights_dict[a] = b\n",
    "\n",
    "weights_dict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(class_weight={0: 1.0, 1: 3.925373134328358}, n_jobs=-1)"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Defining model\n",
    "lr = LogisticRegression(C=1.0, penalty='l2', class_weight=weights_dict, n_jobs=-1)\n",
    "# train\n",
    "lr.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix: \n",
      "[[590 252]\n",
      " [ 71 167]]\n",
      "Area Under Curve: 0.7011966306712709\n",
      "Recall score: 0.7016806722689075\n",
      "Classification report: \n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.89      0.70      0.79       842\n",
      "           1       0.40      0.70      0.51       238\n",
      "\n",
      "    accuracy                           0.70      1080\n",
      "   macro avg       0.65      0.70      0.65      1080\n",
      "weighted avg       0.78      0.70      0.72      1080\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print(f'Confusion Matrix: \\n{confusion_matrix(y_val, lr.predict(X_val))}')\n",
    "print(f'Area Under Curve: {roc_auc_score(y_val, lr.predict(X_val))}')\n",
    "print(f'Recall score: {recall_score(y_val,lr.predict(X_val))}')\n",
    "print(f'Classification report: \\n{classification_report(y_val,lr.predict(X_val))}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SVC(class_weight={0: 1.0, 1: 3.925373134328358}, kernel='linear')"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svm = SVC(C=1.0, kernel=\"linear\", class_weight=weights_dict)\n",
    "svm.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix: [[590 252]\n",
      " [ 71 167]]\n",
      "Area Under Curve: 0.7011966306712709\n",
      "Recall score: 0.7016806722689075\n",
      "Classification report: \n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.89      0.70      0.79       842\n",
      "           1       0.40      0.70      0.51       238\n",
      "\n",
      "    accuracy                           0.70      1080\n",
      "   macro avg       0.65      0.70      0.65      1080\n",
      "weighted avg       0.78      0.70      0.72      1080\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Validation metrics\n",
    "print(f'Confusion Matrix: {confusion_matrix(y_val, lr.predict(X_val))}')\n",
    "print(f'Area Under Curve: {roc_auc_score(y_val, lr.predict(X_val))}')\n",
    "print(f'Recall score: {recall_score(y_val,lr.predict(X_val))}')\n",
    "print(f'Classification report: \\n{classification_report(y_val,lr.predict(X_val))}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((7920, 2), (7920,))"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pca = PCA(n_components=2)\n",
    "# Transforming the dataset using PCA\n",
    "X_pca = pca.fit_transform(X_train)\n",
    "y = y_train\n",
    "X_pca.shape, y.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(class_weight={0: 1.0, 1: 3.925373134328358}, n_jobs=-1)"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "SVC(class_weight={0: 1.0, 1: 3.925373134328358}, kernel='linear')"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.contour.QuadContourSet at 0x2a2632732e0>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.contour.QuadContourSet at 0x2a263280d90>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Linear models - LogReg and SVM')"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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5ctf/jK33XYbzzzzDCUlJZNy7Qtam+Wll17iiSeemHCssbGR3bt3881vfpO/+qu/YsOGDTz22GM8/fTTFzK0c3a6e2pubiaVSvHUU09NTVDn6Uz39NRTT1EoFHjsscdwHIeHH354iiI8P+I0s3EVRZmCSCZfR0cHDz/8MN/97ndpamqa6nDOy4YNG6itreXyyy/nueeem+pwJoXrumzdupWnn36aQCDA17/+dX71q19x5513nve1p3ye+dGjR7njjjvYtm0bANlslpUrV/Lee+9NZVjnZcOGDfzkJz8hGAwCsHfvXubOncv69esJhUJTHN25S6fTPPLII0SjUf75n/8Z0zSnOqRz8qtf/YqtW7fy93//9wD827/9G0IIvvGNb0xxZOdn27ZtfOtb3+J73/set9xyy1SHc97+/M//nMHBQTRNIx6Pk8lkuP322/ne97431aGds3/5l38hlUrx/e9/H4D169fT0dHB3/7t357/xSel5/08rV69enwQ4IUXXhD333//FEc0uabLAOgjjzwivv/97wvP86Y6lPNybAB0eHhYZDIZcdttt4n33ntvqsM6Lz09PWLFihVi06ZNUx3Kx+LZZ5+dFgOg7777rrjxxhtFPB4XjuOIhx9+WPziF7+YlGtf8BK4p7Nu3Tr+5m/+hn/6p38iFArx5JNPTnVI0kl2797Nxo0baWlp4fbbbweKfc3//u//PrWBnYPq6mq+/e1v8+CDD2LbNnfffTeLFy+e6rDOy09/+lPy+fyE9859993H/fffP4VRSSdbsmQJX/nKV/izP/szbNvmyiuv5K677pqUa095N4skSZJ0/qZ8NoskSZJ0/mQylyRJmgZkMpckSZoGZDKXJEmaBmQylyRJmgZkMpckSZoGZDKXJEmaBmQylyRJmgb+f/IFmUgc1tHAAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# min and max values \n",
    "xmin, xmax = X_pca[:, 0].min() - 2, X_pca[:, 0].max() + 2\n",
    "ymin, ymax = X_pca[:, 1].min() - 2, X_pca[:, 1].max() + 2\n",
    "# Creating a mesh region where the boundary will be plotted\n",
    "xx, yy = np.meshgrid(np.arange(xmin, xmax, 0.2),\n",
    "                     np.arange(ymin, ymax, 0.2))\n",
    "# Fitting LR model on 2 features\n",
    "lr.fit(X_pca, y)\n",
    "# Fitting SVM model on 2 features\n",
    "svm.fit(X_pca, y)\n",
    "# Plotting decision boundary for LR\n",
    "z1 = lr.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "z1 = z1.reshape(xx.shape)\n",
    "# Plotting decision boundary for SVM\n",
    "z2 = svm.predict(np.c_[xx.ravel(), yy.ravel()])\n",
    "z2 = z2.reshape(xx.shape)\n",
    "# Displaying the result\n",
    "plt.contourf(xx, yy, z1, alpha=0.4) # LR\n",
    "plt.contour(xx, yy, z2, alpha=0.4, colors='blue') # SVM\n",
    "sns.scatterplot(X_pca[:,0], X_pca[:,1], hue=y_train, s=50, alpha=0.8)\n",
    "plt.title('Linear models - LogReg and SVM')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['IsActiveMember',\n",
       " 'country_Germany',\n",
       " 'Age',\n",
       " 'NumOfProducts',\n",
       " 'EstimatedSalary',\n",
       " 'Surname_enc',\n",
       " 'bal_per_product',\n",
       " 'bal_by_est_salary',\n",
       " 'tenure_age_ratio',\n",
       " 'age_surname_mean_churn']"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Features selected from the RFE process\n",
    "selected_feats_dt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DecisionTreeClassifier(class_weight={0: 1.0, 1: 3.925373134328358},\n",
       "                       criterion='entropy', max_depth=4, min_samples_leaf=15,\n",
       "                       min_samples_split=25)"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>features</th>\n",
       "      <th>importance</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>IsActiveMember</td>\n",
       "      <td>0.476841</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>country_France</td>\n",
       "      <td>0.351863</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Gender</td>\n",
       "      <td>0.096402</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>NumOfProducts</td>\n",
       "      <td>0.042667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>HasCrCard</td>\n",
       "      <td>0.028361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>country_Germany</td>\n",
       "      <td>0.003865</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>country_Spain</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Age</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Surname_enc</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>tenure_age_ratio</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           features  importance\n",
       "2    IsActiveMember    0.476841\n",
       "3    country_France    0.351863\n",
       "0            Gender    0.096402\n",
       "7     NumOfProducts    0.042667\n",
       "1         HasCrCard    0.028361\n",
       "4   country_Germany    0.003865\n",
       "5     country_Spain    0.000000\n",
       "6               Age    0.000000\n",
       "8       Surname_enc    0.000000\n",
       "9  tenure_age_ratio    0.000000"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Re-defining X_train and X_val to consider original unscaled continuous features. y_train and y_val remain unaffected\n",
    "X_train = dc_train[selected_feats_dt].values\n",
    "X_val = dc_val[selected_feats_dt].values\n",
    "# Decision tree classiier model\n",
    "clf = DecisionTreeClassifier(criterion='entropy', class_weight=weights_dict, max_depth=4, max_features=None\n",
    "                            , min_samples_split=25, min_samples_leaf=15)\n",
    "# Fit the model\n",
    "clf.fit(X_train, y_train)\n",
    "# Checking the importance of different features of the model\n",
    "pd.DataFrame({'features': selected_feats,\n",
    "              'importance': clf.feature_importances_\n",
    "             }).sort_values(by='importance', ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix: [[633 209]\n",
      " [ 61 177]]\n",
      "Area Under Curve: 0.7477394758378411\n",
      "Recall score: 0.7436974789915967\n",
      "Classification report: \n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.91      0.75      0.82       842\n",
      "           1       0.46      0.74      0.57       238\n",
      "\n",
      "    accuracy                           0.75      1080\n",
      "   macro avg       0.69      0.75      0.70      1080\n",
      "weighted avg       0.81      0.75      0.77      1080\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Validation metrics\n",
    "print(f'Confusion Matrix: {confusion_matrix(y_val, clf.predict(X_val))}')\n",
    "print(f'Area Under Curve: {roc_auc_score(y_val, clf.predict(X_val))}')\n",
    "print(f'Recall score: {recall_score(y_val,clf.predict(X_val))}')\n",
    "print(f'Classification report: \\n{classification_report(y_val,clf.predict(X_val))}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Decision tree Classifier\n",
    "clf = DecisionTreeClassifier(criterion='entropy', class_weight=weights_dict, \n",
    "                            max_depth=3, max_features=None,\n",
    "                            min_samples_split=25, min_samples_leaf=15)\n",
    "# We fit the model\n",
    "clf.fit(X_train, y_train)\n",
    "# Export now as a dot file\n",
    "dot_data = export_graphviz(clf, out_file='tree.dot',\n",
    "                          feature_names=selected_feats_dt,\n",
    "                          class_names=['Did not churn', 'Churned'],\n",
    "                          rounded=True, proportion=False,\n",
    "                          precision=2, filled=True)\n",
    "# Convert to png using system command (requires Graphviz installation)\n",
    "subprocess.run(['dot', '-Tpng','tree.dot', '-o', 'tree.png', '-Gdpi=600'], shell=True)\n",
    "# Display the rule-set of a single tree\n",
    "from IPython.display import Image\n",
    "Image(filename='tree.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [],
   "source": [
    "## Preparing data and a few common model parameters\n",
    "# Unscaled features will be used since it's a tree model\n",
    "\n",
    "X_train = dc_train.drop(columns = ['Exited'], axis = 1)\n",
    "X_val = dc_val.drop(columns = ['Exited'], axis = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Pipeline(steps=[('categorical_encoding',\n",
       "                 CategoricalEncoder(cols=[], lcols=[], ohecols=[], tcols=[])),\n",
       "                ('add_new_features', AddFeatures()),\n",
       "                ('classifier',\n",
       "                 LGBMClassifier(boosting_type='dart',\n",
       "                                class_weight={0: 1, 1: 3.0},\n",
       "                                colsample_bytree=0.6, importance_type='gain',\n",
       "                                max_depth=6, n_estimators=201, num_leaves=63,\n",
       "                                reg_alpha=1, reg_lambda=1))])"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion Matrix: [[740 102]\n",
      " [ 86 152]]\n",
      "Area Under Curve: 0.7587576598335297\n",
      "Recall score: 0.6386554621848739\n",
      "Classification report: \n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.90      0.88      0.89       842\n",
      "           1       0.60      0.64      0.62       238\n",
      "\n",
      "    accuracy                           0.83      1080\n",
      "   macro avg       0.75      0.76      0.75      1080\n",
      "weighted avg       0.83      0.83      0.83      1080\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from utils import *\n",
    "\n",
    "best_f1_lgb = LGBMClassifier(boosting_type='dart', class_weight={0: 1, 1: 3.0}, min_child_samples=20, n_jobs=-1, importance_type='gain', max_depth=6, num_leaves=63, colsample_bytree=0.6, learning_rate=0.1, n_estimators=201, reg_alpha=1, reg_lambda=1)\n",
    "best_recall_lgb = LGBMClassifier(boosting_type='dart', num_leaves=31, max_depth=6, learning_rate=0.1, n_estimators=21, class_weight={0: 1, 1: 3.93}, min_child_samples=2, colsample_bytree=0.6, reg_alpha=0.3, reg_lambda=1.0, n_jobs=-1, importance_type='gain')\n",
    "model = Pipeline(steps = [('categorical_encoding', CategoricalEncoder()),\n",
    "                          ('add_new_features', AddFeatures()),\n",
    "                          ('classifier', best_f1_lgb)\n",
    "                         ])\n",
    "# Fitting final model on train dataset\n",
    "model.fit(X_train, y_train)\n",
    "# Predict target probabilities\n",
    "val_probs = model.predict_proba(X_val)[:,1]\n",
    "# Predict target values on val data\n",
    "val_preds = np.where(val_probs > 0.45, 1, 0) # The probability threshold can be tweaked\n",
    "# Validation metrics\n",
    "print(f'Confusion Matrix: {confusion_matrix(y_val,val_preds)}')\n",
    "print(f'Area Under Curve: {roc_auc_score(y_val,val_preds)}')\n",
    "print(f'Recall score: {recall_score(y_val,val_preds)}')\n",
    "print(f'Classification report: \\n{classification_report(y_val,val_preds)}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['final_churn_model_f1_0_45.sav']"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Save model object\n",
    "joblib.dump(model, 'final_churn_model_f1_0_45.sav')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7678570272911421"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "0.675392670157068"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "array([[696, 113],\n",
       "       [ 62, 129]], dtype=int64)"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.92      0.86      0.89       809\n",
      "           1       0.53      0.68      0.60       191\n",
      "\n",
      "    accuracy                           0.82      1000\n",
      "   macro avg       0.73      0.77      0.74      1000\n",
      "weighted avg       0.84      0.82      0.83      1000\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# Load model object\n",
    "model = joblib.load('final_churn_model_f1_0_45.sav')\n",
    "X_test = dc_test.drop(columns=['Exited'], axis=1)\n",
    "# Predict target probabilities\n",
    "test_probs = model.predict_proba(X_test)[:,1]\n",
    "# Predict target values on test data\n",
    "test_preds = np.where(test_probs > 0.45, 1, 0) # Flexibility to tweak the probability threshold\n",
    "#test_preds = model.predict(X_test)\n",
    "# Test set metrics\n",
    "roc_auc_score(y_test, test_preds)\n",
    "recall_score(y_test, test_preds)\n",
    "confusion_matrix(y_test, test_preds)\n",
    "print(classification_report(y_test, test_preds))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CreditScore</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Age</th>\n",
       "      <th>Tenure</th>\n",
       "      <th>Balance</th>\n",
       "      <th>NumOfProducts</th>\n",
       "      <th>HasCrCard</th>\n",
       "      <th>IsActiveMember</th>\n",
       "      <th>EstimatedSalary</th>\n",
       "      <th>Exited</th>\n",
       "      <th>country_France</th>\n",
       "      <th>country_Germany</th>\n",
       "      <th>country_Spain</th>\n",
       "      <th>Surname_enc</th>\n",
       "      <th>bal_per_product</th>\n",
       "      <th>bal_by_est_salary</th>\n",
       "      <th>tenure_age_ratio</th>\n",
       "      <th>age_surname_mean_churn</th>\n",
       "      <th>predictions</th>\n",
       "      <th>pred_probabilities</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>674</th>\n",
       "      <td>617</td>\n",
       "      <td>1</td>\n",
       "      <td>34</td>\n",
       "      <td>9</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>118749.58</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.264706</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.046741</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>417</th>\n",
       "      <td>850</td>\n",
       "      <td>1</td>\n",
       "      <td>38</td>\n",
       "      <td>5</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>16491.64</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.37500</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.131579</td>\n",
       "      <td>2.311655</td>\n",
       "      <td>0</td>\n",
       "      <td>0.083092</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>974</th>\n",
       "      <td>709</td>\n",
       "      <td>1</td>\n",
       "      <td>62</td>\n",
       "      <td>3</td>\n",
       "      <td>0.00</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>82195.15</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.25000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.048387</td>\n",
       "      <td>1.968502</td>\n",
       "      <td>0</td>\n",
       "      <td>0.055380</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>154</th>\n",
       "      <td>680</td>\n",
       "      <td>1</td>\n",
       "      <td>34</td>\n",
       "      <td>6</td>\n",
       "      <td>146422.22</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>67142.97</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>146422.073578</td>\n",
       "      <td>2.180753</td>\n",
       "      <td>0.176471</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0.487481</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>335</th>\n",
       "      <td>833</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "      <td>96462.25</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>48986.18</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.20303</td>\n",
       "      <td>48231.100884</td>\n",
       "      <td>1.969173</td>\n",
       "      <td>0.034483</td>\n",
       "      <td>1.093352</td>\n",
       "      <td>0</td>\n",
       "      <td>0.022409</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     CreditScore  Gender  Age  Tenure    Balance  NumOfProducts  HasCrCard  \\\n",
       "674          617       1   34       9       0.00              2          1   \n",
       "417          850       1   38       5       0.00              2          1   \n",
       "974          709       1   62       3       0.00              2          1   \n",
       "154          680       1   34       6  146422.22              1          1   \n",
       "335          833       1   29       1   96462.25              2          0   \n",
       "\n",
       "     IsActiveMember  EstimatedSalary  Exited  country_France  country_Germany  \\\n",
       "674               0        118749.58       0             0.0              0.0   \n",
       "417               0         16491.64       0             1.0              0.0   \n",
       "974               1         82195.15       0             0.0              0.0   \n",
       "154               0         67142.97       1             0.0              1.0   \n",
       "335               1         48986.18       0             0.0              1.0   \n",
       "\n",
       "     country_Spain  Surname_enc  bal_per_product  bal_by_est_salary  \\\n",
       "674            1.0      0.00000         0.000000           0.000000   \n",
       "417            0.0      0.37500         0.000000           0.000000   \n",
       "974            1.0      0.25000         0.000000           0.000000   \n",
       "154            0.0      0.00000    146422.073578           2.180753   \n",
       "335            0.0      0.20303     48231.100884           1.969173   \n",
       "\n",
       "     tenure_age_ratio  age_surname_mean_churn  predictions  pred_probabilities  \n",
       "674          0.264706                0.000000            0            0.046741  \n",
       "417          0.131579                2.311655            0            0.083092  \n",
       "974          0.048387                1.968502            0            0.055380  \n",
       "154          0.176471                0.000000            1            0.487481  \n",
       "335          0.034483                1.093352            0            0.022409  "
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Adding predictions and their probabilities in the original test dataframe\n",
    "test = dc_test.copy()\n",
    "test['predictions'] = test_preds\n",
    "test['pred_probabilities'] = test_probs\n",
    "test.sample(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(103, 18)"
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CreditScore</th>\n",
       "      <th>Gender</th>\n",
       "      <th>Age</th>\n",
       "      <th>Tenure</th>\n",
       "      <th>Balance</th>\n",
       "      <th>NumOfProducts</th>\n",
       "      <th>HasCrCard</th>\n",
       "      <th>IsActiveMember</th>\n",
       "      <th>EstimatedSalary</th>\n",
       "      <th>country_France</th>\n",
       "      <th>country_Germany</th>\n",
       "      <th>country_Spain</th>\n",
       "      <th>Surname_enc</th>\n",
       "      <th>bal_per_product</th>\n",
       "      <th>bal_by_est_salary</th>\n",
       "      <th>tenure_age_ratio</th>\n",
       "      <th>age_surname_mean_churn</th>\n",
       "      <th>pred_probabilities</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>58</td>\n",
       "      <td>3</td>\n",
       "      <td>106458.31</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>128881.87</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>26614.570846</td>\n",
       "      <td>0.826015</td>\n",
       "      <td>0.051724</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.992935</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>479</td>\n",
       "      <td>1</td>\n",
       "      <td>51</td>\n",
       "      <td>1</td>\n",
       "      <td>107714.74</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>86128.21</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.333333</td>\n",
       "      <td>35904.901365</td>\n",
       "      <td>1.250633</td>\n",
       "      <td>0.019608</td>\n",
       "      <td>2.380476</td>\n",
       "      <td>0.979605</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>745</td>\n",
       "      <td>1</td>\n",
       "      <td>45</td>\n",
       "      <td>10</td>\n",
       "      <td>117231.63</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>122381.02</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.250000</td>\n",
       "      <td>39077.196974</td>\n",
       "      <td>0.957923</td>\n",
       "      <td>0.222222</td>\n",
       "      <td>1.677051</td>\n",
       "      <td>0.976361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>515</td>\n",
       "      <td>1</td>\n",
       "      <td>45</td>\n",
       "      <td>7</td>\n",
       "      <td>120961.50</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>39288.11</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>40320.486560</td>\n",
       "      <td>3.078832</td>\n",
       "      <td>0.155556</td>\n",
       "      <td>1.341641</td>\n",
       "      <td>0.970001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>481</td>\n",
       "      <td>0</td>\n",
       "      <td>57</td>\n",
       "      <td>9</td>\n",
       "      <td>0.00</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>169719.35</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.222222</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.157895</td>\n",
       "      <td>1.677741</td>\n",
       "      <td>0.965838</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   CreditScore  Gender  Age  Tenure    Balance  NumOfProducts  HasCrCard  \\\n",
       "0          546       0   58       3  106458.31              4          1   \n",
       "1          479       1   51       1  107714.74              3          1   \n",
       "2          745       1   45      10  117231.63              3          1   \n",
       "3          515       1   45       7  120961.50              3          1   \n",
       "4          481       0   57       9       0.00              3          1   \n",
       "\n",
       "   IsActiveMember  EstimatedSalary  country_France  country_Germany  \\\n",
       "0               0        128881.87             0.0              1.0   \n",
       "1               0         86128.21             0.0              1.0   \n",
       "2               1        122381.02             0.0              1.0   \n",
       "3               1         39288.11             0.0              1.0   \n",
       "4               1        169719.35             1.0              0.0   \n",
       "\n",
       "   country_Spain  Surname_enc  bal_per_product  bal_by_est_salary  \\\n",
       "0            0.0     0.000000     26614.570846           0.826015   \n",
       "1            0.0     0.333333     35904.901365           1.250633   \n",
       "2            0.0     0.250000     39077.196974           0.957923   \n",
       "3            0.0     0.200000     40320.486560           3.078832   \n",
       "4            0.0     0.222222         0.000000           0.000000   \n",
       "\n",
       "   tenure_age_ratio  age_surname_mean_churn  pred_probabilities  \n",
       "0          0.051724                0.000000            0.992935  \n",
       "1          0.019608                2.380476            0.979605  \n",
       "2          0.222222                1.677051            0.976361  \n",
       "3          0.155556                1.341641            0.970001  \n",
       "4          0.157895                1.677741            0.965838  "
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "high_churn_list = test[test.pred_probabilities > 0.7].sort_values(by=['pred_probabilities'], ascending=False\n",
    "                                                                 ).reset_index().drop(columns=['index', 'Exited', 'predictions'], axis=1)\n",
    "high_churn_list.shape\n",
    "high_churn_list.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [],
   "source": [
    "high_churn_list.to_csv('high_churn_list.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "777490da48e046e3b512f0b24bf037db286a787493a11bf82a9e0f2cbf21bb67"
  },
  "kernelspec": {
   "display_name": "Python 3.8.7 64-bit",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.7"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
